Clear locked flag before unlocking mutex, not after.
authorPekka Riikonen <priikone@silcnet.org>
Thu, 13 Dec 2007 15:39:25 +0000 (15:39 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 13 Dec 2007 15:39:25 +0000 (15:39 +0000)
lib/silcutil/symbian/silcsymbianthread.cpp
lib/silcutil/unix/silcunixthread.c

index f3aa6f26a0dc29e64c7b91e90f6bea244fa90502..10d7142ac06ae2eeeb669bf1cba78ea117f486c3 100644 (file)
@@ -228,8 +228,8 @@ void silc_mutex_unlock(SilcMutex mutex)
 {
 #ifdef SILC_THREADS
   if (mutex) {
-    mutex->mutex->Signal();
     mutex->locked = FALSE;
+    mutex->mutex->Signal();
   }
 #endif /* SILC_THREADS */
 }
index bd551c2990ac4e5a449c7e38ec686c4f80aa705a..2415a380e31eb3bb21509ff4be74b9c58ce07d2b 100644 (file)
@@ -154,8 +154,8 @@ void silc_mutex_unlock(SilcMutex mutex)
 {
 #ifdef SILC_THREADS
   if (mutex) {
-    SILC_VERIFY(pthread_mutex_unlock(&mutex->mutex) == 0);
     mutex->locked = FALSE;
+    SILC_VERIFY(pthread_mutex_unlock(&mutex->mutex) == 0);
   }
 #endif /* SILC_THREADS */
 }