From: cgf Date: Mon, 27 Mar 2006 01:10:48 +0000 (+0000) Subject: * sigproc.cc (wait_sig): Move myself manipulation... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4fde02f05a4c80c0e62345f925d9631cade358df;p=pf3gnuchains%2Fpf3gnuchains3x.git * sigproc.cc (wait_sig): Move myself manipulation... (wait_for_sigthread): ...to here. --- diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 480bcc6dd8..135bccb57a 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2006-03-26 Christopher Faylor + + * sigproc.cc (wait_sig): Move myself manipulation... + (wait_for_sigthread): ...to here. + 2006-03-24 Corinna Vinschen * fhandler_floppy.cc: Include ntdef.h and ntdll.h. diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 8de1ff8b9a..02f5387d07 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -141,6 +141,10 @@ wait_for_sigthread () api_fatal ("couldn't create signal pipe, %E"); ProtectHandle (my_readsig); myself->sendsig = my_sendsig; + + myself->process_state |= PID_ACTIVE; + myself->process_state &= ~PID_INITIALIZING; + sigproc_printf ("wait_sig_inited %p", wait_sig_inited); HANDLE hsig_inited = wait_sig_inited; WaitForSingleObject (hsig_inited, INFINITE); @@ -1130,17 +1134,10 @@ wait_sig (VOID *) sigCONT = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL); - /* Setting dwProcessId flags that this process is now capable of receiving - signals. Prior to this, dwProcessId was set to the windows pid of - of the original windows process which spawned us unless this was a - "toplevel" process. */ - myself->process_state |= PID_ACTIVE; - myself->process_state &= ~PID_INITIALIZING; - - _sig_tls = &_my_tls; sigproc_printf ("myself->dwProcessId %u", myself->dwProcessId); SetEvent (wait_sig_inited); + _sig_tls = &_my_tls; _sig_tls->init_threadlist_exceptions (); debug_printf ("entering ReadFile loop, my_readsig %p, myself->sendsig %p", my_readsig, myself->sendsig);