about summary refs log tree commit homepage
path: root/cmogstored.c
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2012-12-05 00:35:40 +0000
committerEric Wong <normalperson@yhbt.net>2012-12-05 00:50:34 +0000
commitef7bd6492102c02abe175d2adb81b8566e697bac (patch)
treee204ec801b6e9b4f4565924cad0f8bca793d2a14 /cmogstored.c
parent0de5d9ef69b344138beacb9db5664c36215a4a59 (diff)
downloadcmogstored-ef7bd6492102c02abe175d2adb81b8566e697bac.tar.gz
We now assume any non-zero timeout (not just infinite timeout)
is cancellable as well as interruptible.  This means
mog_idleq_wait will no longer retry blindly on EINTR.

Handling of explicit device refreshes and aio_threads
is now easier-to-understand and follow.
Diffstat (limited to 'cmogstored.c')
-rw-r--r--cmogstored.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/cmogstored.c b/cmogstored.c
index 6bb3848..2b82a14 100644
--- a/cmogstored.c
+++ b/cmogstored.c
@@ -437,6 +437,7 @@ static void siginit(void (*wakeup_handler)(int))
 
 static void main_loop(const pid_t parent)
 {
+        mog_cancel_disable(); /* mog_idleq_wait() now relies on this */
         while (parent == 0 || parent == getppid()) {
                 mog_notify_wait(have_mgmt);
                 if (do_exit)