diff options
author | dan <dan@noemail.net> | 2010-08-10 07:12:26 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2010-08-10 07:12:26 +0000 |
commit | 84612fec1c94840c7175a4aa03ffac5505960467 (patch) | |
tree | e06f371c95257313d8f7226501701478e5e657a6 /src/mutex_unix.c | |
parent | 9b8d02727a1b1a613d89528a5f062f5ceaf8d534 (diff) | |
download | sqlite-84612fec1c94840c7175a4aa03ffac5505960467.tar.gz sqlite-84612fec1c94840c7175a4aa03ffac5505960467.zip |
Changes to debugging code in mutex_unix.c and mutex_w32.c to make an assert() statement threadsafe.
FossilOrigin-Name: e82e32bd431ccacd276df8241592eb5519d87122
Diffstat (limited to 'src/mutex_unix.c')
-rw-r--r-- | src/mutex_unix.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mutex_unix.c b/src/mutex_unix.c index a1ebc3b75..196975e71 100644 --- a/src/mutex_unix.c +++ b/src/mutex_unix.c @@ -235,6 +235,7 @@ static void pthreadMutexEnter(sqlite3_mutex *p){ */ pthread_mutex_lock(&p->mutex); #if SQLITE_MUTEX_NREF + assert( p->nRef>0 || p->owner==0 ); p->owner = pthread_self(); p->nRef++; #endif @@ -307,6 +308,7 @@ static void pthreadMutexLeave(sqlite3_mutex *p){ assert( pthreadMutexHeld(p) ); #if SQLITE_MUTEX_NREF p->nRef--; + if( p->nRef==0 ) p->owner = 0; #endif assert( p->nRef==0 || p->id==SQLITE_MUTEX_RECURSIVE ); |