comparison src/process-unix.c @ 3325:4c41ea11201a

[xemacs-hg @ 2006-04-01 16:21:11 by stephent] Increase Faccept_process_output timeout in unix_send_process. <87wte9nuac.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Sat, 01 Apr 2006 16:21:11 +0000
parents 045f20e1c3af
children 0cc7794d231e
comparison
equal deleted inserted replaced
3324:0ac983083b5b 3325:4c41ea11201a
1543 Lstream_flush (XLSTREAM (DATA_OUTSTREAM(p))); 1543 Lstream_flush (XLSTREAM (DATA_OUTSTREAM(p)));
1544 EMACS_SIGNAL (SIGPIPE, old_sigpipe); 1544 EMACS_SIGNAL (SIGPIPE, old_sigpipe);
1545 } 1545 }
1546 while (Lstream_was_blocked_p (XLSTREAM (p->pipe_outstream))) 1546 while (Lstream_was_blocked_p (XLSTREAM (p->pipe_outstream)))
1547 { 1547 {
1548 /* Buffer is full. Wait, accepting input; 1548 /* Buffer is full. Wait 10ms, accepting input; that may
1549 that may allow the program 1549 allow the program to finish doing output and read more.
1550 to finish doing output and read more. */ 1550 Used to be 1s, but that's excruciating. nt_send_process
1551 Faccept_process_output (Qnil, make_int (1), Qnil); 1551 uses geometrically increasing timeouts (up to 1s). This
1552 might be a good idea here.
1553 N.B. timeout_secs = Qnil is faster than Qzero. */
1554 Faccept_process_output (Qnil, Qnil, make_int (10));
1552 /* It could have *really* finished, deleting the process */ 1555 /* It could have *really* finished, deleting the process */
1553 if (NILP(p->pipe_outstream)) 1556 if (NILP(p->pipe_outstream))
1554 return; 1557 return;
1555 old_sigpipe = 1558 old_sigpipe =
1556 (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap); 1559 (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap);