X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=inn-innduct.git;a=blobdiff_plain;f=backends%2Finnduct.c;h=1a80ff31a4507c35787e744b2b74f638af0e95a8;hp=4d5e74718d1312174163506c460652a384f759d0;hb=3b0226a35e7c466b36374ccb75360d7e88fa7472;hpb=096fe6189f03033e7cd25c2260dd8f54ff060ce3;ds=sidebyside diff --git a/backends/innduct.c b/backends/innduct.c index 4d5e747..1a80ff3 100644 --- a/backends/innduct.c +++ b/backends/innduct.c @@ -2632,8 +2632,11 @@ static void *inndcomm_event(oop_source *lp, int fd, oop_event e, void *u) { assert(inndcomm_child); assert(fd == inndcomm_sentinel_fd); int status= xwaitpid(&inndcomm_child, "inndcomm"); + inndcomm_child= 0; + cancel_fd_read_except(fd); xclose_perhaps(&fd, "inndcomm sentinel pipe",0); + inndcomm_sentinel_fd= 0; assert(!flushing_input_file); @@ -3142,13 +3145,13 @@ int main(int argc, char **argv) { self_pid= getpid(); if (self_pid==-1) sysdie("getpid"); - if (!become_daemon) - control_stdio(); - statemc_lock(); notice("starting"); + if (!become_daemon) + control_stdio(); + control_init(); if (!filemon_method_init()) {