2010-09-01 Christopher Faylor <me+cygwin@cgf.cx>
+ * dcrt0.cc (dll_crt0_0): Remove myself settings.
+ * fork.cc (fork): Set myself process_state
+ * pinfo.cc (pinfo_init): Ditto.
+ (pinfo::thisproc): Make sure any sendsig setting is correctly copied.
+ * pinfo.h: Update copyright. Remove unused code.
+
+2010-09-01 Christopher Faylor <me+cygwin@cgf.cx>
+
* cygthread.cc (cygthread::create): Fix incorrect use of name rather
than __name.
* cygthread.h (cygthread::cygthread): Create versions which eliminate
GetCurrentProcess (), &hMainThread,
0, false, DUPLICATE_SAME_ACCESS);
- myself->process_state |= PID_ACTIVE;
- myself->process_state &= ~PID_INITIALIZING;
-
OpenProcessToken (GetCurrentProcess (), MAXIMUM_ALLOWED, &hProcToken);
set_cygwin_privileges (hProcToken);
MALLOC_CHECK;
if (ischild)
- /* nothing to do */;
+ {
+ myself->process_state |= PID_ACTIVE;
+ myself->process_state &= ~(PID_INITIALIZING | PID_EXITED);
+ }
else if (res < 0)
{
if (!grouped.error)
init (cygheap->pid, PID_IN_USE, h ?: INVALID_HANDLE_VALUE);
procinfo->process_state |= PID_IN_USE;
procinfo->dwProcessId = myself_initial.pid;
+ procinfo->sendsig = myself_initial.sendsig;
wcscpy (procinfo->progname, myself_initial.progname);
strace.hello ();
debug_printf ("myself->dwProcessId %u", procinfo->dwProcessId);
debug_printf ("Set nice to %d", myself->nice);
}
+ myself->process_state |= PID_ACTIVE;
+ myself->process_state &= ~(PID_INITIALIZING | PID_EXITED);
debug_printf ("pid %d, pgid %d", myself->pid, myself->pgid);
}
/* pinfo.h: process table info
- Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Red Hat, Inc.
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Red Hat, Inc.
This file is part of Cygwin.
int operator == (char *x) const {return (char *) procinfo == x;}
_pinfo *operator * () const {return procinfo;}
operator _pinfo * () const {return procinfo;}
- // operator bool () const {return (int) h;}
void preserve () { destroy = false; }
#ifndef _SIGPROC_H
int remember () {system_printf ("remember is not here"); return 0;}