Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Wed, 6 Oct 2004 14:47:01 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Calls to system() blocks return of SIGCHLD signal Message-ID: <20041006184701.GQ29973@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i 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 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/