From: Pekka Riikonen Date: Sun, 24 Jun 2007 14:12:26 +0000 (+0000) Subject: Unlock signals when calling signal callback. X-Git-Tag: silc.toolkit.1.1.1~8 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=4608f7437631ff8b29bab86b92f0365204b8855e Unlock signals when calling signal callback. --- diff --git a/lib/silcutil/unix/silcunixschedule.c b/lib/silcutil/unix/silcunixschedule.c index e661ca64..137d52de 100644 --- a/lib/silcutil/unix/silcunixschedule.c +++ b/lib/silcutil/unix/silcunixschedule.c @@ -459,6 +459,8 @@ static void silc_schedule_internal_sighandler(int signal) { int i; + SILC_LOG_DEBUG(("Start")); + for (i = 0; i < SIGNAL_COUNT; i++) { if (signal_call[i].sig == signal) { signal_call[i].call = TRUE; @@ -548,11 +550,13 @@ void silc_schedule_internal_signals_call(SilcSchedule schedule, void *context) signal_call[i].callback) { SILC_LOG_DEBUG(("Calling signal %d callback", signal_call[i].sig)); + silc_schedule_internal_signals_unblock(schedule, context); signal_call[i].callback(schedule, internal->app_context, SILC_TASK_INTERRUPT, signal_call[i].sig, signal_call[i].context); signal_call[i].call = FALSE; + silc_schedule_internal_signals_block(schedule, context); } }