fds from being opened, etc.
* sync.h (lock_process::dont_bother): New function.
2006-07-14 Christopher Faylor <cgf@timesys.com>
+ * fork.cc (fork): Lock the process before forking to prevent things
+ like new fds from being opened, etc.
+ * sync.h (lock_process::dont_bother): New function.
+
+2006-07-14 Christopher Faylor <cgf@timesys.com>
+
* include/cygwin/types.h: Update copyright.
2006-07-14 Christopher Faylor <cgf@timesys.com>
return -1;
}
+ lock_process now;
if (sig_send (NULL, __SIGHOLD))
{
if (exit_state)
__asm__ volatile ("movl %%esp,%0": "=r" (esp));
if (ischild)
- res = grouped.child (esp);
+ {
+ res = grouped.child (esp);
+ now.dont_bother ();
+ }
else
{
res = grouped.parent (esp);
static muto locker;
public:
static void init () {locker.init ("lock_process");}
+ void dont_bother () {skip_unlock = true;}
lock_process (bool exiting = false)
{
locker.acquire ();