aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/process.c b/src/process.c
index 5e06ccccac8..4d287d8cc51 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5492,15 +5492,16 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd,
5492 5492
5493 p = XPROCESS (proc); 5493 p = XPROCESS (proc);
5494 5494
5495#ifdef GNU_LINUX 5495#ifndef WINDOWSNT
5496 /* getsockopt(,,SO_ERROR,,) is said to hang on some systems.
5497 So only use it on systems where it is known to work. */
5498 { 5496 {
5499 socklen_t xlen = sizeof (xerrno); 5497 socklen_t xlen = sizeof (xerrno);
5500 if (getsockopt (channel, SOL_SOCKET, SO_ERROR, &xerrno, &xlen)) 5498 if (getsockopt (channel, SOL_SOCKET, SO_ERROR, &xerrno, &xlen))
5501 xerrno = errno; 5499 xerrno = errno;
5502 } 5500 }
5503#else 5501#else
5502 /* On MS-Windows, getsockopt clears the error for the
5503 entire process, which may not be the right thing; see
5504 w32.c. Use getpeername instead. */
5504 { 5505 {
5505 struct sockaddr pname; 5506 struct sockaddr pname;
5506 socklen_t pnamelen = sizeof (pname); 5507 socklen_t pnamelen = sizeof (pname);