eina: check condition is still alive when debugging threads.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 9 May 2011 14:41:39 +0000 (14:41 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 9 May 2011 14:41:39 +0000 (14:41 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@59299 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/include/eina_inline_lock_posix.x

index b8c7082..dbd4748 100644 (file)
@@ -307,6 +307,7 @@ eina_condition_wait(Eina_Condition *cond)
 {
 #ifdef EINA_HAVE_DEBUG_THREADS
    assert(_eina_threads_activated);
+   assert(cond->lock != NULL);
 #endif
 
    return pthread_cond_wait(&(cond->condition), &(cond->lock->mutex)) == 0 ? EINA_TRUE : EINA_FALSE;
@@ -315,12 +316,20 @@ eina_condition_wait(Eina_Condition *cond)
 static inline Eina_Bool
 eina_condition_broadcast(Eina_Condition *cond)
 {
+#ifdef EINA_HAVE_DEBUG_THREADS
+   assert(cond->lock != NULL);
+#endif
+
    return pthread_cond_broadcast(&(cond->condition)) == 0 ? EINA_TRUE : EINA_FALSE;
 }
 
 static inline Eina_Bool
 eina_condition_signal(Eina_Condition *cond)
 {
+#ifdef EINA_HAVE_DEBUG_THREADS
+   assert(cond->lock != NULL);
+#endif
+
    return pthread_cond_signal(&(cond->condition)) == 0 ? EINA_TRUE : EINA_FALSE;
 }