]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
LynxOS is buggy, wait call does not wait for killed child
authorhades <hades>
Sat, 11 Nov 2000 08:55:39 +0000 (08:55 +0000)
committerhades <hades>
Sat, 11 Nov 2000 08:55:39 +0000 (08:55 +0000)
hadaq/param.tcl
hadaq/worker.c

index 6c90db50beeb5d3424794789b963ab92fcc74752..75af2ec1bf0453b09b3aa4186188e753199f2311 100644 (file)
@@ -3,12 +3,12 @@ set evtbuild(stndln) 0
 set evtbuild(nrofmsgs) 1
 set netmem(file) ./daq_netmem
 set netmem(stndln) 0
-set netmem(inpath0) ATM:0:150
+set netmem(inpath0) ATM:0:60
 set netmem(nrofmsgs) 1
 set netmem(verb) debug
 set memnet(file) ./daq_memnet
 set memnet(stndln) 0
-set memnet(outpath) ATM:0:150
+set memnet(outpath) ATM:0:60
 set memnet(bandwidth) 68000
 set readout(file) ./daq_readout
 set readout(stndln) 0
index 6909118f761b1c48c0659f1779f8b1024b477720..3e370207b77578e7224af27bf2714a63cac290f4 100644 (file)
@@ -1,4 +1,4 @@
-static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/worker.c,v 6.2 2000-07-18 14:24:37 hades Exp $";
+static char rcsId[] = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/worker.c,v 6.3 2000-11-11 08:55:39 hades Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
@@ -231,6 +231,7 @@ int Worker_start(const char *path, char *const argv[])
                        sigsuspend(sigMask);    /* child to initialize */
 
                        if (sigReceived == SIGCHLD) {
+                               sleep(1);
                                wait(NULL);
                                msglog(LOG_DEBUG,
                                           "%s:%d: %s\n", __FILE__, __LINE__, strerror(errno));
@@ -285,6 +286,7 @@ void Worker_stop(const char *name, int timeout)
                my->pid = my->statistics[0].value;
                if (my->pid > 0) {
                        if (0 == kill(my->pid, SIGTERM)) {
+                               sleep(1);
                                wait(NULL);
                        }
                }