From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: delete-process bug Date: Mon, 29 May 2006 22:25:48 +0300 Message-ID: References: <87k69eyddj.fsf@lrde.org> <87fyj0r41g.fsf@lrde.org> <20060524112846.GA12046@agmartin.aq.upm.es> <87bqtmjrsh.fsf_-_@lrde.org> <87odxjakox.fsf@lrde.org> <8764jrlewm.fsf@lrde.org> <87pshyqgtd.fsf@lrde.org> <87fyiuq9t5.fsf@lrde.org> <877j45rj3w.fsf@lrde.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1148930809 8446 80.91.229.2 (29 May 2006 19:26:49 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 29 May 2006 19:26:49 +0000 (UTC) Cc: agustin.martin@hispalinux.es, michael.cadilhac@lrde.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon May 29 21:26:47 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FknO1-0001zk-N0 for ged-emacs-devel@m.gmane.org; Mon, 29 May 2006 21:26:45 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FknO1-0006xB-5n for ged-emacs-devel@m.gmane.org; Mon, 29 May 2006 15:26:45 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FknNl-0006sT-35 for emacs-devel@gnu.org; Mon, 29 May 2006 15:26:29 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FknNj-0006rk-DE for emacs-devel@gnu.org; Mon, 29 May 2006 15:26:28 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FknNj-0006rh-5Z for emacs-devel@gnu.org; Mon, 29 May 2006 15:26:27 -0400 Original-Received: from [192.114.186.66] (helo=romy.inter.net.il) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FknTL-0006g7-Rz for emacs-devel@gnu.org; Mon, 29 May 2006 15:32:16 -0400 Original-Received: from HOME-C4E4A596F7 (IGLD-80-230-247-248.inter.net.il [80.230.247.248]) by romy.inter.net.il (MOS 3.7.3-GA) with ESMTP id ESH07652 (AUTH halo1); Mon, 29 May 2006 22:25:48 +0300 (IDT) Original-To: storm@cua.dk (Kim F. Storm) In-reply-to: (storm@cua.dk) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:55445 Archived-At: > Cc: agustin.martin@hispalinux.es, michael.cadilhac@lrde.org, > monnier@iro.umontreal.ca, emacs-devel@gnu.org > From: storm@cua.dk (Kim F. Storm) > Date: Mon, 29 May 2006 10:14:22 +0200 > > But... if MS-Windows does not support SIGCHLD (or SIGCLD), how does > emacs detect process termination on MS-Windows?? It uses a Windows specific API to probe for subprocess termination, and when that tells us that a child process terminated, we call the signal handler by hand. The relevant code is in w32proc.c, around line 1300: else if (sig_handlers[SIGCHLD] != SIG_DFL && sig_handlers[SIGCHLD] != SIG_IGN) { #ifdef FULL_DEBUG DebPrint (("select calling SIGCHLD handler for pid %d\n", cp->pid)); #endif dead_child = cp; sig_handlers[SIGCHLD] (SIGCHLD); dead_child = NULL; } }