From d365e229678eb7ae758a415d100043f6e07dea35 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Wed, 6 Dec 2006 17:21:59 +0000 Subject: [PATCH] The wait_process() call now handles EINTR. --- main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index 0733a9aa..e2d6aa7f 100644 --- a/main.c +++ b/main.c @@ -103,7 +103,11 @@ static void show_malloc_stats(void); * remember_children(), we succeed instead of returning an error. */ pid_t wait_process(pid_t pid, int *status_ptr, int flags) { - pid_t waited_pid = waitpid(pid, status_ptr, flags); + pid_t waited_pid; + + do { + waited_pid = waitpid(pid, status_ptr, flags); + } while (waited_pid == -1 && errno == EINTR); if (waited_pid == -1 && errno == ECHILD) { /* Status of requested child no longer available: check to -- 2.34.1