=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/m4/gnum4.c,v retrieving revision 1.51 retrieving revision 1.52 diff -c -r1.51 -r1.52 *** src/usr.bin/m4/gnum4.c 2017/06/15 13:48:42 1.51 --- src/usr.bin/m4/gnum4.c 2017/08/21 21:41:13 1.52 *************** *** 1,4 **** ! /* $OpenBSD: gnum4.c,v 1.51 2017/06/15 13:48:42 bcallah Exp $ */ /* * Copyright (c) 1999 Marc Espie --- 1,4 ---- ! /* $OpenBSD: gnum4.c,v 1.52 2017/08/21 21:41:13 deraadt Exp $ */ /* * Copyright (c) 1999 Marc Espie *************** *** 630,636 **** doesyscmd(const char *cmd) { int p[2]; ! pid_t pid, cpid; char *argv[4]; int cc; int status; --- 630,636 ---- doesyscmd(const char *cmd) { int p[2]; ! pid_t cpid; char *argv[4]; int cc; int status; *************** *** 668,675 **** } while (cc > 0 || (cc == -1 && errno == EINTR)); (void) close(p[0]); ! while ((pid = wait(&status)) != cpid && pid >= 0) ! continue; pbstr(getstring()); } } --- 668,677 ---- } while (cc > 0 || (cc == -1 && errno == EINTR)); (void) close(p[0]); ! while (waitpid(cpid, &status, 0) == -1) { ! if (errno != EINTR) ! break; ! } pbstr(getstring()); } }