Author: fjoe
Date: Thu Dec 15 06:25:19 2011
New Revision: 228525
URL: http://svn.freebsd.org/changeset/base/228525

Log:
  Revert r228521: sometimes job output is lost
  (see tools/regression/usr.bin/make/execution/joberr test).
  
  openpty(fd + 0, fd + 1,...) version does not have this problem but
  it sometimes enters an infinite sleep in "ttywait" state in tty_drain()
  when make(1) closes slave pty.

Modified:
  head/usr.bin/make/Makefile
  head/usr.bin/make/job.c

Modified: head/usr.bin/make/Makefile
==============================================================================
--- head/usr.bin/make/Makefile  Thu Dec 15 06:12:43 2011        (r228524)
+++ head/usr.bin/make/Makefile  Thu Dec 15 06:25:19 2011        (r228525)
@@ -7,8 +7,6 @@ CFLAGS+=-I${.CURDIR}
 SRCS=  arch.c buf.c cond.c dir.c for.c hash.c hash_tables.c job.c      \
        lst.c main.c make.c parse.c proc.c shell.c str.c suff.c targ.c  \
        util.c var.c
-DPADD= ${LIBUTIL}
-LDADD= -lutil
 
 NO_SHARED?=    YES
 

Modified: head/usr.bin/make/job.c
==============================================================================
--- head/usr.bin/make/job.c     Thu Dec 15 06:12:43 2011        (r228524)
+++ head/usr.bin/make/job.c     Thu Dec 15 06:25:19 2011        (r228525)
@@ -115,7 +115,6 @@ __FBSDID("$FreeBSD$");
 #include <fcntl.h>
 #include <inttypes.h>
 #include <limits.h>
-#include <libutil.h>
 #include <paths.h>
 #include <string.h>
 #include <signal.h>
@@ -1799,13 +1798,8 @@ JobStart(GNode *gn, int flags, Job *prev
                if (usePipes) {
                        int fd[2];
 
-                       if (isatty(1)) {
-                               if (openpty(fd + 1, fd + 0, NULL, NULL, NULL) 
== -1)
-                                       Punt("Cannot open pty: %s", 
strerror(errno));
-                       } else {
-                               if (pipe(fd) == -1)
-                                       Punt("Cannot create pipe: %s", 
strerror(errno));
-                       }
+                       if (pipe(fd) == -1)
+                               Punt("Cannot create pipe: %s", strerror(errno));
                        job->inPipe = fd[0];
                        job->outPipe = fd[1];
                        fcntl(job->inPipe, F_SETFD, 1);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to