Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT cygwin DOT com Delivered-To: mailing list cygwin-developers AT cygwin DOT com Message-ID: <3E79FA1B.60302@hekimian.com> Date: Thu, 20 Mar 2003 12:27:55 -0500 X-Sybari-Trust: 20be2b9c 36b09be0 04609a3e 00000109 From: Joe Buehler Reply-To: jbuehler AT hekimian DOT com Organization: Spirent Communications, Inc. User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.3) Gecko/20030312 X-Accept-Language: en-us, en MIME-Version: 1.0 To: cygwin-developers AT cygwin DOT com Subject: [PATCH] finishing spawn / vfork signal inheritance X-Enigmail-Version: 0.73.1.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Christopher, I see that you applied my previous patch for spawnve(). Here is the missing part -- the parent has to copy its signal handlers to the child. Please check this -- this part of Cygwin is complex. I compiled it and it fixes vfork() and spawnve(). -- Joe Buehler 2003-03-20 Joe Buehler * spawn.cc: (spawn_guts): copy signal handler info to spawned child. Index: spawn.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/spawn.cc,v retrieving revision 1.120 diff -u -r1.120 spawn.cc --- spawn.cc 13 Feb 2003 02:52:41 -0000 1.120 +++ spawn.cc 20 Mar 2003 17:26:55 -0000 @@ -756,6 +756,8 @@ } child->dwProcessId = pi.dwProcessId; child->hProcess = pi.hProcess; + /* make child inherit our signal settings */ + child->copysigs (myself); child.remember (); strcpy (child->progname, real_path); /* FIXME: This introduces an unreferenced, open handle into the child.