--- buffer.c.orig 2003-02-01 14:56:33.000000000 +0100 +++ buffer.c 2003-02-01 14:56:24.000000000 +0100 @@ -1470,9 +1470,16 @@ current_parsed_root->hostname); /* If we were talking to a process, make sure it exited */ - if (bc->child_pid - && waitpid (bc->child_pid, (int *) 0, 0) == -1) + if (bc->child_pid) { + int n; + + do + n = waitpid (bc->child_pid, (int *) 0, 0); + while (n == -1 && errno == EINTR); + + if (n == -1) error (1, errno, "waiting for process %d", bc->child_pid); + } return 0; }