bin/161526: commit references a PR
dfilter service
dfilter at FreeBSD.ORG
Sat Oct 15 19:10:12 UTC 2011
The following reply was made to PR bin/161526; it has been noted by GNATS.
From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: bin/161526: commit references a PR
Date: Sat, 15 Oct 2011 19:08:32 +0000 (UTC)
Author: trociny
Date: Sat Oct 15 19:08:22 2011
New Revision: 226403
URL: http://svn.freebsd.org/changeset/base/226403
Log:
In r225809 the intention was to send VEOF only once if STDIN was not a
terminal. Unfortunately the fix was incorrect and for flushtime > 0 it
keept sending VEOF.
Sent VEOF generates ^D\b\b echoed by the terminal, which was reported
in bin/161526. Note, we still send VEOF at least once. Otherwise
commands like below would hang forever:
echo 1 |script /tmp/script.out cat
PR: bin/161526
Reported by: Adrian Wontroba <aw1 at stade.co.uk>, Stefan Bethke <stb at lassitu.de>
Tested by: Stefan Bethke <stb at lassitu.de>
MFC after: 3 days
Modified:
head/usr.bin/script/script.c
Modified: head/usr.bin/script/script.c
==============================================================================
--- head/usr.bin/script/script.c Sat Oct 15 18:41:25 2011 (r226402)
+++ head/usr.bin/script/script.c Sat Oct 15 19:08:22 2011 (r226403)
@@ -163,12 +163,15 @@ main(int argc, char *argv[])
FD_SET(master, &rfd);
if (readstdin)
FD_SET(STDIN_FILENO, &rfd);
- if ((!readstdin && ttyflg) || flushtime > 0) {
- tv.tv_sec = !readstdin && ttyflg ? 1 :
- flushtime - (tvec - start);
+ if (!readstdin && ttyflg) {
+ tv.tv_sec = 1;
tv.tv_usec = 0;
tvp = &tv;
readstdin = 1;
+ } else if (flushtime > 0) {
+ tv.tv_sec = flushtime - (tvec - start);
+ tv.tv_usec = 0;
+ tvp = &tv;
} else {
tvp = NULL;
}
_______________________________________________
svn-src-all at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
More information about the freebsd-bugs
mailing list