From 34189cfc48125db7bdcd1758301ecb602a6c33c6 Mon Sep 17 00:00:00 2001 From: Othmar Gsenger Date: Wed, 23 Dec 2009 18:48:59 +0000 Subject: do not end signalcontroller on EINTR and write a message to log otherwise --- src/signalController.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/signalController.cpp b/src/signalController.cpp index f298e72..00b9bd2 100644 --- a/src/signalController.cpp +++ b/src/signalController.cpp @@ -163,8 +163,15 @@ void SignalController::handle() sigfillset(&signal_set); err = sigwait(&signal_set, &sigNum); if (err) - break; - inject(sigNum); + { + if (err != EINTR && errno != EINTR ) + { + cLog.msg(Log::PRIO_ERROR) << "sigwait failed with error: \"" << AnytunErrno(errno) << "\" SignalHandling will be disabled"; + break; + } + } else { + inject(sigNum); + } } } #else -- cgit v1.2.3