This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] finishing spawn / vfork signal inheritance


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]