From 981f6185c51d7e244df8cbafd4dd2f561a74f517 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 13 Mar 2003 23:59:36 +0000 Subject: [PATCH] debugging session with wim Original commit message from CVS: debugging session with wim --- gst/schedulers/gthread-cothreads.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gst/schedulers/gthread-cothreads.h b/gst/schedulers/gthread-cothreads.h index 4ec9b410e6..c70f364612 100644 --- a/gst/schedulers/gthread-cothreads.h +++ b/gst/schedulers/gthread-cothreads.h @@ -108,11 +108,12 @@ do_cothread_context_init (void) static void do_cothread_context_destroy (cothread_context *context) { - g_assert (g_thread_self() != context->main->thread); + g_assert (g_thread_self() == context->main->thread); while (context->cothreads) { do_cothread_destroy ((cothread *) context->cothreads->data); } + g_mutex_unlock (context->mutex); g_mutex_free (context->mutex); g_free (context); @@ -120,7 +121,7 @@ do_cothread_context_destroy (cothread_context *context) static void die (cothread *to_die) { g_cond_free (to_die->cond); - g_slist_remove (to_die->context->cothreads, to_die); + to_die->context->cothreads = g_slist_remove (to_die->context->cothreads, to_die); g_free (to_die); g_thread_exit (to_die); /* don't unlock the mutex here, the thread waiting for us to die is gonna take it */ @@ -165,7 +166,7 @@ cothread_create (cothread_context *context, cothread_func func, int argc, char * return ret; out2: - g_slist_remove (context->cothreads, ret); + context->cothreads = g_slist_remove (context->cothreads, ret); g_free (ret); out1: return NULL;