Module: wine Branch: master Commit: c9504d94479ef3ac0e10cd1db3e906c9075b17b7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c9504d94479ef3ac0e10cd1db3...
Author: Alexandre Julliard julliard@winehq.org Date: Tue May 20 10:59:20 2008 +0200
ntdll: Move signal unmasking to make sure injected code runs on the correct stack.
---
dlls/ntdll/loader.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c index b0000b8..c05e01f 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c @@ -2360,6 +2360,8 @@ static NTSTATUS attach_process_dlls( void *wm ) { NTSTATUS status;
+ pthread_functions.sigprocmask( SIG_UNBLOCK, &server_block_set, NULL ); + RtlEnterCriticalSection( &loader_section ); if ((status = process_attach( wm, (LPVOID)1 )) != STATUS_SUCCESS) { @@ -2418,8 +2420,6 @@ void WINAPI LdrInitializeThunk( ULONG unknown1, ULONG unknown2, ULONG unknown3, if ((status = alloc_process_tls()) != STATUS_SUCCESS) goto error; if ((status = alloc_thread_tls()) != STATUS_SUCCESS) goto error;
- pthread_functions.sigprocmask( SIG_UNBLOCK, &server_block_set, NULL ); - status = wine_call_on_stack( attach_process_dlls, wm, NtCurrentTeb()->Tib.StackBase ); if (status != STATUS_SUCCESS) goto error;