Calls to system() blocks return of SIGCHLD signal

Christopher Faylor cgf-no-personal-reply-please@cygwin.com
Wed Oct 6 18:46:00 GMT 2004


On Wed, Oct 06, 2004 at 12:24:48PM -0400, Remy Gauthier wrote:
>We manage synchronous events through calls to system(), and
>asynchronous events via fork() and a SIGCHLD handler.  We have noticed
>(on V1.5.10-1 and V1.5.11-1) that after a call to system(), the
>handlers were not being called after the child process stopped.  This
>program has this behaviour (removing the call to system() will restore
>correct SIGCHLD handling):

SYSTEM(3)                  Linux Programmer's Manual                 SYSTEM(3)



NAME
       system - execute a shell command

SYNOPSIS
       #include <stdlib.h>

       int system(const char *string);

DESCRIPTION
       system()  executes  a command specified in string by calling /bin/sh -c
       string, and returns after the command has been completed.  During  exe-
       cution  of the command, SIGCHLD will be blocked, and SIGINT and SIGQUIT
       will be ignored.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list