emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: delete-process bug


From: Eli Zaretskii
Subject: Re: delete-process bug
Date: Mon, 29 May 2006 22:25:48 +0300

> Cc: address@hidden,  address@hidden,
>         address@hidden,  address@hidden
> From: address@hidden (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;
                }
            }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]