comparison src/process.c @ 55810:b2e8aa96ff9d

process.c (Fdelete_process): Do not call remove_process.
author Noah Friedman <friedman@splode.com>
date Fri, 28 May 2004 21:58:31 +0000
parents d5fe47c900ee
children 8979bc3ade70 62cf3d6337a0
comparison
equal deleted inserted replaced
55809:52796407db51 55810:b2e8aa96ff9d
772 XPROCESS (process)->status 772 XPROCESS (process)->status
773 = Fcons (Qsignal, Fcons (make_number (SIGKILL), Qnil)); 773 = Fcons (Qsignal, Fcons (make_number (SIGKILL), Qnil));
774 XSETINT (XPROCESS (process)->tick, ++process_tick); 774 XSETINT (XPROCESS (process)->tick, ++process_tick);
775 status_notify (); 775 status_notify ();
776 } 776 }
777 remove_process (process); 777 /* Do not call remove_process here; either status_notify has already done
778 it, or will do so the next time emacs polls for input. Thus network
779 processes are not immediately removed, and their sentinel will be
780 called.
781
782 Since Fdelete_process is called by kill_buffer_processes, this also
783 means that a network process sentinel will run after the buffer is
784 dead, which would not be the case if status_notify() were called
785 unconditionally here. This way process sentinels observe consistent
786 behavior with regard to buffer-live-p.
787 */
788 /* remove_process (process); */
778 return Qnil; 789 return Qnil;
779 } 790 }
780 791
781 DEFUN ("process-status", Fprocess_status, Sprocess_status, 1, 1, 0, 792 DEFUN ("process-status", Fprocess_status, Sprocess_status, 1, 1, 0,
782 doc: /* Return the status of PROCESS. 793 doc: /* Return the status of PROCESS.