From 84612fec1c94840c7175a4aa03ffac5505960467 Mon Sep 17 00:00:00 2001 From: dan Date: Tue, 10 Aug 2010 07:12:26 +0000 Subject: Changes to debugging code in mutex_unix.c and mutex_w32.c to make an assert() statement threadsafe. FossilOrigin-Name: e82e32bd431ccacd276df8241592eb5519d87122 --- src/mutex_unix.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/mutex_unix.c') 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 ); -- cgit v1.2.3