comparison src/process-unix.c @ 898:b0c24ea6a2a8

[xemacs-hg @ 2002-07-03 07:18:39 by michaels] 2002-07-01 Mike Sperber <mike@xemacs.org> * process-unix.c (unix_send_process): Mark coding_outstream as non-open upon SIGPIPE. * event-stream.c (execute_internal_event): Reinstate code to deactivate a dead network connection that got lost during the stdout/stderr separation. * event-stream.c (Fnext_event): Reorder switch cases to something that makes sense.
author michaels
date Wed, 03 Jul 2002 07:18:41 +0000
parents 804517e16990
children eaedf30d9d76
comparison
equal deleted inserted replaced
897:7da79fbe37bb 898:b0c24ea6a2a8
1557 EMACS_SIGNAL (SIGPIPE, old_sigpipe); 1557 EMACS_SIGNAL (SIGPIPE, old_sigpipe);
1558 /* Close the file lstream so we don't attempt to write to it further */ 1558 /* Close the file lstream so we don't attempt to write to it further */
1559 /* #### There is controversy over whether this might cause fd leakage */ 1559 /* #### There is controversy over whether this might cause fd leakage */
1560 /* my tests say no. -slb */ 1560 /* my tests say no. -slb */
1561 XLSTREAM (p->pipe_outstream)->flags &= ~LSTREAM_FL_IS_OPEN; 1561 XLSTREAM (p->pipe_outstream)->flags &= ~LSTREAM_FL_IS_OPEN;
1562 XLSTREAM (p->coding_outstream)->flags &= ~LSTREAM_FL_IS_OPEN;
1562 p->status_symbol = Qexit; 1563 p->status_symbol = Qexit;
1563 p->exit_code = 256; /* #### SIGPIPE ??? */ 1564 p->exit_code = 256; /* #### SIGPIPE ??? */
1564 p->core_dumped = 0; 1565 p->core_dumped = 0;
1565 p->tick++; 1566 p->tick++;
1566 process_tick++; 1567 process_tick++;
1567 deactivate_process (*((Lisp_Object *) (&vol_proc))); 1568 deactivate_process (vol_proc);
1568 invalid_operation ("SIGPIPE raised on process; closed it", p->name); 1569 invalid_operation ("SIGPIPE raised on process; closed it", p->name);
1569 } 1570 }
1570 1571
1571 old_sigpipe = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap); 1572 old_sigpipe = (SIGTYPE (*) (int)) EMACS_SIGNAL (SIGPIPE, send_process_trap);
1572 Lstream_flush (XLSTREAM (DATA_OUTSTREAM (p))); 1573 Lstream_flush (XLSTREAM (DATA_OUTSTREAM (p)));