Commit 6282d5aa authored by msvensson@neptunus.(none)'s avatar msvensson@neptunus.(none)

Merge neptunus.(none):/home/msvensson/mysql/bug16333/my50-bug16333

into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
parents 7d9eba04 52391f3e
...@@ -103,7 +103,7 @@ int safe_mutex_lock(safe_mutex_t *mp,const char *file, uint line) ...@@ -103,7 +103,7 @@ int safe_mutex_lock(safe_mutex_t *mp,const char *file, uint line)
fflush(stderr); fflush(stderr);
abort(); abort();
} }
pthread_mutex_lock(&mp->global); pthread_mutex_lock(&mp->global);
if (mp->count > 0 && pthread_equal(pthread_self(),mp->thread)) if (mp->count > 0 && pthread_equal(pthread_self(),mp->thread))
{ {
...@@ -121,6 +121,7 @@ int safe_mutex_lock(safe_mutex_t *mp,const char *file, uint line) ...@@ -121,6 +121,7 @@ int safe_mutex_lock(safe_mutex_t *mp,const char *file, uint line)
fflush(stderr); fflush(stderr);
abort(); abort();
} }
mp->thread= pthread_self();
if (mp->count++) if (mp->count++)
{ {
fprintf(stderr,"safe_mutex: Error in thread libray: Got mutex at %s, \ fprintf(stderr,"safe_mutex: Error in thread libray: Got mutex at %s, \
...@@ -128,7 +129,6 @@ line %d more than 1 time\n", file,line); ...@@ -128,7 +129,6 @@ line %d more than 1 time\n", file,line);
fflush(stderr); fflush(stderr);
abort(); abort();
} }
mp->thread=pthread_self();
mp->file= file; mp->file= file;
mp->line=line; mp->line=line;
pthread_mutex_unlock(&mp->global); pthread_mutex_unlock(&mp->global);
...@@ -154,6 +154,7 @@ int safe_mutex_unlock(safe_mutex_t *mp,const char *file, uint line) ...@@ -154,6 +154,7 @@ int safe_mutex_unlock(safe_mutex_t *mp,const char *file, uint line)
fflush(stderr); fflush(stderr);
abort(); abort();
} }
mp->thread= 0;
mp->count--; mp->count--;
#ifdef __WIN__ #ifdef __WIN__
pthread_mutex_unlock(&mp->mutex); pthread_mutex_unlock(&mp->mutex);
...@@ -207,6 +208,7 @@ int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp, const char *file, ...@@ -207,6 +208,7 @@ int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp, const char *file,
fflush(stderr); fflush(stderr);
abort(); abort();
} }
mp->thread=pthread_self();
if (mp->count++) if (mp->count++)
{ {
fprintf(stderr, fprintf(stderr,
...@@ -215,7 +217,6 @@ int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp, const char *file, ...@@ -215,7 +217,6 @@ int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp, const char *file,
fflush(stderr); fflush(stderr);
abort(); abort();
} }
mp->thread=pthread_self();
mp->file= file; mp->file= file;
mp->line=line; mp->line=line;
pthread_mutex_unlock(&mp->global); pthread_mutex_unlock(&mp->global);
...@@ -245,6 +246,7 @@ int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp, ...@@ -245,6 +246,7 @@ int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp,
} }
#endif #endif
pthread_mutex_lock(&mp->global); pthread_mutex_lock(&mp->global);
mp->thread=pthread_self();
if (mp->count++) if (mp->count++)
{ {
fprintf(stderr, fprintf(stderr,
...@@ -253,7 +255,6 @@ int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp, ...@@ -253,7 +255,6 @@ int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp,
fflush(stderr); fflush(stderr);
abort(); abort();
} }
mp->thread=pthread_self();
mp->file= file; mp->file= file;
mp->line=line; mp->line=line;
pthread_mutex_unlock(&mp->global); pthread_mutex_unlock(&mp->global);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment