From 2e182bc3abc711281f5496e4eac201df7a368f57 Mon Sep 17 00:00:00 2001 From: mar Date: Thu, 28 Dec 1989 17:08:17 +0000 Subject: [PATCH] new incremental update scheme --- server/mr_main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/mr_main.c b/server/mr_main.c index 8bcaa78c..ec6a13ca 100644 --- a/server/mr_main.c +++ b/server/mr_main.c @@ -190,6 +190,8 @@ main(argc, argv) if (status == -1) { if (errno != EINTR) com_err(whoami, errno, " error from op_select"); + if (!inc_running || now - inc_started > INC_TIMEOUT) + next_incremental(); continue; } else if (status != -2) { com_err(whoami, 0, " wrong return from op_select_any"); @@ -197,6 +199,8 @@ main(argc, argv) } if (takedown) break; time(&now); + if (!inc_running || now - inc_started > INC_TIMEOUT) + next_incremental(); #ifdef notdef fprintf(stderr, " tick\n"); #endif notdef @@ -477,6 +481,8 @@ void reapchild() int pid; while ((pid = wait3(&status, WNOHANG, (struct rusage *)0)) > 0) { + if (pid == inc_pid) + inc_running = 0; if (!takedown && (status.w_termsig != 0 || status.w_retcode != 0)) com_err(whoami, 0, "%d: child exits with signal %d status %d", pid, status.w_termsig, status.w_retcode); -- 2.45.2