| www.delorie.com/archives/browse.cgi | search |
| 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.
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |