From: Wayne Davison Date: Wed, 6 Dec 2006 17:21:59 +0000 (+0000) Subject: The wait_process() call now handles EINTR. X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/d365e229678eb7ae758a415d100043f6e07dea35 The wait_process() call now handles EINTR. --- 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