the mutex is locked/unlcoked already. Affected file
lib/silcutil/unix/silcunixmutex.c.
+ * Fixed locking in silc_schedule_uninit. It didn't lock
+ when dispatching timeout tasks. Affected file is
+ lib/silcutil/silcschedule.c.
+
Thu Dec 12 12:06:59 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
* Don't print signed messages when sending failed. Affected files
return FALSE;
/* Dispatch all timeouts before going away */
+ SILC_SCHEDULE_LOCK(schedule);
silc_mutex_lock(schedule->timeout_queue->lock);
silc_schedule_dispatch_timeout(schedule, TRUE);
silc_mutex_unlock(schedule->timeout_queue->lock);
+ SILC_SCHEDULE_UNLOCK(schedule);
/* Deliver signals before going away */
if (schedule->signal_tasks) {
- SILC_SCHEDULE_UNLOCK(schedule);
silc_schedule_internal_signals_call(schedule->internal, schedule);
schedule->signal_tasks = FALSE;
- SILC_SCHEDULE_LOCK(schedule);
}
/* Unregister all tasks */