summaryrefslogtreecommitdiff
path: root/src/w32.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2018-06-30 11:43:42 +0300
committerEli Zaretskii <eliz@gnu.org>2018-06-30 11:43:42 +0300
commited65ea18152636500399a7b6b75c87bac7d4ef2b (patch)
treefc7fe235cc9866326b5bab8c13255c2ef9ffbf2c /src/w32.c
parent3b4e65e797e15668345cf606c7d822cce11f17b2 (diff)
downloademacs-ed65ea18152636500399a7b6b75c87bac7d4ef2b.tar.gz
Speed up reading sub-process output on MS-Windows
* src/w32proc.c (syms_of_ntproc) <w32-pipe-read-delay>: Set to zero. For the details, see this discussion: http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00711.html. * src/w32.c (_sys_read_ahead): Update the commentary for w32-pipe-read-delay usage. * doc/emacs/msdos.texi (Windows Processes): Document w32-pipe-read-delay. * etc/NEWS: Mention the change of the value of w32-pipe-read-delay.
Diffstat (limited to 'src/w32.c')
-rw-r--r--src/w32.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/w32.c b/src/w32.c
index e93aaab9ca1..c848b33b2af 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -8469,13 +8469,14 @@ _sys_read_ahead (int fd)
{
rc = _read (fd, &cp->chr, sizeof (char));
- /* Give subprocess time to buffer some more output for us before
- reporting that input is available; we need this because Windows 95
- connects DOS programs to pipes by making the pipe appear to be
- the normal console stdout - as a result most DOS programs will
- write to stdout without buffering, ie. one character at a
- time. Even some W32 programs do this - "dir" in a command
- shell on NT is very slow if we don't do this. */
+ /* Optionally give subprocess time to buffer some more output
+ for us before reporting that input is available; we may need
+ this because Windows 9X connects DOS programs to pipes by
+ making the pipe appear to be the normal console stdout -- as
+ a result most DOS programs will write to stdout without
+ buffering, i.e., one character at a time. Even some W32
+ programs do this -- "dir" in a command shell on NT is very
+ slow if we don't do this. */
if (rc > 0)
{
int wait = w32_pipe_read_delay;