diff options
author | msvensson@neptunus.(none) <> | 2006-02-16 10:08:02 +0100 |
---|---|---|
committer | msvensson@neptunus.(none) <> | 2006-02-16 10:08:02 +0100 |
commit | 2c2d404fd70ae52f341057e7cddd5dd16e188e3c (patch) | |
tree | 508433972398d6faae827ad98edabd788967e986 /mysys/thr_mutex.c | |
parent | ffa538e31e961812633e1e4e6f7a172f1ede2ba7 (diff) | |
parent | 52391f3e04ce7e771e5e9829cbe64172fa4b7992 (diff) | |
download | mariadb-git-2c2d404fd70ae52f341057e7cddd5dd16e188e3c.tar.gz |
Merge neptunus.(none):/home/msvensson/mysql/bug16333/my50-bug16333
into neptunus.(none):/home/msvensson/mysql/bug16333/my51-bug16333
Diffstat (limited to 'mysys/thr_mutex.c')
-rw-r--r-- | mysys/thr_mutex.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mysys/thr_mutex.c b/mysys/thr_mutex.c index 3dde1fd5bfa..7d6c762f455 100644 --- a/mysys/thr_mutex.c +++ b/mysys/thr_mutex.c @@ -103,7 +103,7 @@ int safe_mutex_lock(safe_mutex_t *mp,const char *file, uint line) fflush(stderr); abort(); } - + pthread_mutex_lock(&mp->global); 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) fflush(stderr); abort(); } + mp->thread= pthread_self(); if (mp->count++) { 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); fflush(stderr); abort(); } - mp->thread=pthread_self(); mp->file= file; mp->line=line; pthread_mutex_unlock(&mp->global); @@ -154,6 +154,7 @@ int safe_mutex_unlock(safe_mutex_t *mp,const char *file, uint line) fflush(stderr); abort(); } + mp->thread= 0; mp->count--; #ifdef __WIN__ pthread_mutex_unlock(&mp->mutex); @@ -207,6 +208,7 @@ int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp, const char *file, fflush(stderr); abort(); } + mp->thread=pthread_self(); if (mp->count++) { fprintf(stderr, @@ -215,7 +217,6 @@ int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp, const char *file, fflush(stderr); abort(); } - mp->thread=pthread_self(); mp->file= file; mp->line=line; pthread_mutex_unlock(&mp->global); @@ -245,6 +246,7 @@ int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp, } #endif pthread_mutex_lock(&mp->global); + mp->thread=pthread_self(); if (mp->count++) { fprintf(stderr, @@ -253,7 +255,6 @@ int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp, fflush(stderr); abort(); } - mp->thread=pthread_self(); mp->file= file; mp->line=line; pthread_mutex_unlock(&mp->global); |