summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsc2000-12-22 10:19:32 +0000
committersc2000-12-22 10:19:32 +0000
commitd2c47932e9b9daa882202beb13739c8fdf1765df (patch)
treeefd5b106f50ca658d72ec5fb4a21c0cffcfc7b18
parent8a7f8f8f99d5573945b0f58770d77019a1008782 (diff)
downloadivy-league-d2c47932e9b9daa882202beb13739c8fdf1765df.zip
ivy-league-d2c47932e9b9daa882202beb13739c8fdf1765df.tar.gz
ivy-league-d2c47932e9b9daa882202beb13739c8fdf1765df.tar.bz2
ivy-league-d2c47932e9b9daa882202beb13739c8fdf1765df.tar.xz
Added error messages
Added test of Looping after handling of signals
-rw-r--r--comm/Scheduler.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/comm/Scheduler.cc b/comm/Scheduler.cc
index 9140abe..5290a61 100644
--- a/comm/Scheduler.cc
+++ b/comm/Scheduler.cc
@@ -17,6 +17,7 @@
#include "Scheduler.h"
#include "TimeOut.h"
#include "SignalHandler.h"
+#include "error.h"
#include <signal.h> // for NSIG
#include <sys/errno.h>
@@ -542,6 +543,11 @@ IvlScheduler :: LoopScan (bool nointr)
if (SigFired)
HandleDeferredSignals ();
+ if (!Looping) {
+ ExecHooks (true);
+ return isMpxTerminated;
+ }
+
#if 0
/* Then, timers */
IvlCoreTimer::Fire (&Timers);
@@ -588,6 +594,7 @@ IvlScheduler :: LoopScan (bool nointr)
if (nointr && nb_pending_fd == -1 && errno == EINTR)
continue;
else {
+ SysError (ErrWarn, "IvlScheduler::LoopScan failed");
ExecHooks (true);
return isMpxError;
}