diff options
Diffstat (limited to 'testcld.c')
| -rw-r--r-- | testcld.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/testcld.c b/testcld.c new file mode 100644 index 0000000..83212e9 --- /dev/null +++ b/testcld.c @@ -0,0 +1,19 @@ +#include <errno.h> +#include <signal.h> +#include <sys/types.h> +#include <sys/wait.h> +#include <unistd.h> +int main(void) { + int i; + sigset(SIGCLD, SIG_IGN); + switch (fork()) { + case -1: + return 1; + case 0: + return 0; + default: + sleep(1); + if (wait(&i) == -1 && errno == ECHILD) return 0; + else return 1; + } +} |