=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/make/job.c,v retrieving revision 1.90 retrieving revision 1.91 diff -c -r1.90 -r1.91 *** src/usr.bin/make/job.c 2007/09/29 09:47:23 1.90 --- src/usr.bin/make/job.c 2007/09/29 09:59:04 1.91 *************** *** 1,5 **** /* $OpenPackages$ */ ! /* $OpenBSD: job.c,v 1.90 2007/09/29 09:47:23 espie Exp $ */ /* $NetBSD: job.c,v 1.16 1996/11/06 17:59:08 christos Exp $ */ /* --- 1,5 ---- /* $OpenPackages$ */ ! /* $OpenBSD: job.c,v 1.91 2007/09/29 09:59:04 espie Exp $ */ /* $NetBSD: job.c,v 1.16 1996/11/06 17:59:08 christos Exp $ */ /* *************** *** 1653,1658 **** --- 1653,1659 ---- int count = howmany(outputsn+1, NFDBITS) * sizeof(fd_mask); fd_set *readfdsp = malloc(count); + (void)fflush(stdout); if (readfdsp == NULL) return; *************** *** 1661,1673 **** timeout.tv_sec = SEL_SEC; timeout.tv_usec = SEL_USEC; ! if ((nfds = select(outputsn+1, readfdsp, (fd_set *) 0, ! (fd_set *) 0, &timeout)) <= 0) { ! HandleSigs(); ! free(readfdsp); ! return; ! } else { ! HandleSigs(); for (ln = Lst_First(&jobs); nfds && ln != NULL; ln = Lst_Adv(ln)) { job = (Job *)Lst_Datum(ln); --- 1662,1670 ---- timeout.tv_sec = SEL_SEC; timeout.tv_usec = SEL_USEC; ! nfds = select(outputsn+1, readfdsp, NULL, NULL, &timeout); ! HandleSigs(); ! if (nfds > 0) { for (ln = Lst_First(&jobs); nfds && ln != NULL; ln = Lst_Adv(ln)) { job = (Job *)Lst_Datum(ln);