diff --git a/src/threads.c b/src/threads.c index f3de94a9ffc00a0c43b4bf462bb3b82b491ad29e..6ea9d62e2f695b354cd618280e4511f6d71b6621 100644 --- a/src/threads.c +++ b/src/threads.c @@ -1,5 +1,5 @@ #include "global.h" -RCSID("$Id: threads.c,v 1.40 1997/09/17 10:33:14 hubbe Exp $"); +RCSID("$Id: threads.c,v 1.41 1997/09/17 13:04:14 hubbe Exp $"); int num_threads = 1; int threads_disabled = 0; @@ -205,7 +205,7 @@ void f_mutex_lock(INT32 args) if(m->key) { - check_objects_to_destruct(); + destruct_objects_to_destruct(); if(m->key) { SWAP_OUT_CURRENT_THREAD(); @@ -250,6 +250,9 @@ void f_mutex_trylock(INT32 args) error("Recursive mutex locks!\n"); } } + if(m->key) + destruct_objects_to_destruct(); + if(!m->key) { OB2KEY(o)->mut=m;