* sigproc.cc (wait_sig): Move myself manipulation...

(wait_for_sigthread): ...to here.
This commit is contained in:
Christopher Faylor 2006-03-27 01:10:48 +00:00
parent 8d6d480774
commit ec54178c36
2 changed files with 10 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2006-03-26 Christopher Faylor <cgf@timesys.com>
* sigproc.cc (wait_sig): Move myself manipulation...
(wait_for_sigthread): ...to here.
2006-03-24 Corinna Vinschen <corinna@vinschen.de> 2006-03-24 Corinna Vinschen <corinna@vinschen.de>
* fhandler_floppy.cc: Include ntdef.h and ntdll.h. * fhandler_floppy.cc: Include ntdef.h and ntdll.h.

View File

@ -141,6 +141,10 @@ wait_for_sigthread ()
api_fatal ("couldn't create signal pipe, %E"); api_fatal ("couldn't create signal pipe, %E");
ProtectHandle (my_readsig); ProtectHandle (my_readsig);
myself->sendsig = my_sendsig; myself->sendsig = my_sendsig;
myself->process_state |= PID_ACTIVE;
myself->process_state &= ~PID_INITIALIZING;
sigproc_printf ("wait_sig_inited %p", wait_sig_inited); sigproc_printf ("wait_sig_inited %p", wait_sig_inited);
HANDLE hsig_inited = wait_sig_inited; HANDLE hsig_inited = wait_sig_inited;
WaitForSingleObject (hsig_inited, INFINITE); WaitForSingleObject (hsig_inited, INFINITE);
@ -1130,17 +1134,10 @@ wait_sig (VOID *)
sigCONT = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL); 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); sigproc_printf ("myself->dwProcessId %u", myself->dwProcessId);
SetEvent (wait_sig_inited); SetEvent (wait_sig_inited);
_sig_tls = &_my_tls;
_sig_tls->init_threadlist_exceptions (); _sig_tls->init_threadlist_exceptions ();
debug_printf ("entering ReadFile loop, my_readsig %p, myself->sendsig %p", debug_printf ("entering ReadFile loop, my_readsig %p, myself->sendsig %p",
my_readsig, myself->sendsig); my_readsig, myself->sendsig);