www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2003/03/20/12:28:30

Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT cygwin DOT com>
List-Help: <mailto:cygwin-developers-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
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 <jbuehler AT hekimian DOT com>
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

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  <jhpb AT draco DOT hekimian DOT com>

	* 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.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019