Mercurial > hg > xemacs-beta
changeset 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 | 7da79fbe37bb |
children | 08513f26c519 |
files | src/ChangeLog src/event-stream.c src/process-unix.c |
diffstat | 3 files changed, 30 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Tue Jul 02 19:09:31 2002 +0000 +++ b/src/ChangeLog Wed Jul 03 07:18:41 2002 +0000 @@ -1,3 +1,15 @@ +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. + 2002-06-27 Olivier Galibert <galibert@pobox.com> * input-method-motif.c: Fix the #includes.
--- a/src/event-stream.c Tue Jul 02 19:09:31 2002 +0000 +++ b/src/event-stream.c Wed Jul 03 07:18:41 2002 +0000 @@ -2315,8 +2315,6 @@ switch (XEVENT_TYPE (event)) { - default: - goto RETURN; case button_release_event: case misc_user_event: /* don't echo menu accelerator keys */ @@ -2326,6 +2324,8 @@ goto STORE_AND_EXECUTE_KEY; case key_press_event: /* any key input can trigger autosave */ break; + default: + goto RETURN; } /* temporarily reenable quit checking here, because we could get stuck */ @@ -3104,6 +3104,19 @@ to enable that check, and we do so now. */ kick_status_notify (); } + else + { + /* Deactivate network connection */ + Lisp_Object status = Fprocess_status (p); + if (EQ (status, Qopen) + /* In case somebody changes the theory of whether to + return open as opposed to run for network connection + "processes"... */ + || EQ (status, Qrun)) + update_process_status (p, Qexit, 256, 0); + deactivate_process (p); + status_notify (); + } /* We must call status_notify here to allow the event_stream->unselect_process_cb to be run if appropriate. @@ -3117,8 +3130,8 @@ status_notify() will be called on return to top-level. */ status_notify (); - return; } + return; } case timeout_event:
--- a/src/process-unix.c Tue Jul 02 19:09:31 2002 +0000 +++ b/src/process-unix.c Wed Jul 03 07:18:41 2002 +0000 @@ -1559,12 +1559,13 @@ /* #### There is controversy over whether this might cause fd leakage */ /* my tests say no. -slb */ XLSTREAM (p->pipe_outstream)->flags &= ~LSTREAM_FL_IS_OPEN; + XLSTREAM (p->coding_outstream)->flags &= ~LSTREAM_FL_IS_OPEN; p->status_symbol = Qexit; p->exit_code = 256; /* #### SIGPIPE ??? */ p->core_dumped = 0; p->tick++; process_tick++; - deactivate_process (*((Lisp_Object *) (&vol_proc))); + deactivate_process (vol_proc); invalid_operation ("SIGPIPE raised on process; closed it", p->name); }