--- Source/plugin-threads.cpp.orig Sat Apr 17 16:47:32 2004 +++ Source/plugin-threads.cpp Mon May 31 21:35:45 2004 @@ -4,9 +4,12 @@ #include #include "plugin-setup.h" #include +#include +#include extern int DEBUG; +static void sig_child(int signo){ wait(0L); } /* * Copyright (c) 2002 - 2003 @@ -176,6 +179,13 @@ perror("execv"); _exit(0); } else { + // setup signal handler for child + sigset_t newmask; + signal(SIGCHLD, sig_child); + sigemptyset(&newmask); + sigaddset(&newmask, SIGCHLD); + pthread_sigmask(SIG_UNBLOCK, &newmask, 0L); + *pid = child; *control = filedesw[1]; close(filedesw[0]);