delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2003/03/24/14:21:02

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: <3E7F5A9C.4050804@hekimian.com>
Date: Mon, 24 Mar 2003 14:21:00 -0500
X-Sybari-Trust: 35e8fa5b 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: second try: [PATCH] finishing spawn / vfork signal inheritance
References: <3E79FA1B DOT 60302 AT hekimian DOT com>
In-Reply-To: <3E79FA1B.60302@hekimian.com>
X-Enigmail-Version: 0.73.1.0
X-Enigmail-Supports: pgp-inline, pgp-mime

If someone with CVS access would commit this, I would appreciate it.
Currently, spawn() and vfork() do not pass signal handler settings
on to the child process, and this breaks ksh93.  This patch fixes
the problem (in conjunction with a change cgf already committed).

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.
-- 
Joe Buehler

- Raw text -


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