From 4608f7437631ff8b29bab86b92f0365204b8855e Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Sun, 24 Jun 2007 14:12:26 +0000 Subject: [PATCH] Unlock signals when calling signal callback. --- lib/silcutil/unix/silcunixschedule.c | 4 ++++ 1 file changed, 4 insertions(+) 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); } } -- 2.24.0