=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/monitor.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- src/usr.bin/ssh/monitor.c 2002/03/27 17:45:42 1.8 +++ src/usr.bin/ssh/monitor.c 2002/03/30 18:51:15 1.9 @@ -25,7 +25,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: monitor.c,v 1.8 2002/03/27 17:45:42 mouring Exp $"); +RCSID("$OpenBSD: monitor.c,v 1.9 2002/03/30 18:51:15 markus Exp $"); #include @@ -1203,8 +1203,9 @@ /* The child is terminating */ session_destroy_all(&mm_session_close); - if (waitpid(monitor->m_pid, &status, 0) == -1) - exit(1); + while (waitpid(monitor->m_pid, &status, 0) == -1) + if (errno != EINTR) + exit(1); res = WIFEXITED(status) ? WEXITSTATUS(status) : 1;