Module: wine Branch: refs/heads/master Commit: 25d6383a29dcbe064623c5c570c3bce159e25172 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=25d6383a29dcbe064623c5c5...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Aug 4 12:04:39 2006 +0200
ntdll: Fix a race condition at thread exit.
---
dlls/ntdll/server.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c index 841604a..97be8ec 100644 --- a/dlls/ntdll/server.c +++ b/dlls/ntdll/server.c @@ -156,6 +156,7 @@ void server_exit_thread( int status ) fds[1] = ntdll_get_thread_data()->wait_fd[1]; fds[2] = ntdll_get_thread_data()->reply_fd; fds[3] = ntdll_get_thread_data()->request_fd; + pthread_functions.sigprocmask( SIG_BLOCK, &block_set, NULL );
size = 0; NtFreeVirtualMemory( GetCurrentProcess(), &info.stack_base, &size, MEM_RELEASE | MEM_SYSTEM ); @@ -165,7 +166,6 @@ void server_exit_thread( int status ) NtFreeVirtualMemory( GetCurrentProcess(), &info.teb_base, &size, MEM_RELEASE | MEM_SYSTEM ); info.teb_size = size;
- pthread_functions.sigprocmask( SIG_BLOCK, &block_set, NULL ); close( fds[0] ); close( fds[1] ); close( fds[2] );