Module: wine Branch: master Commit: 735dbc406b6c76227e3d695c98a87697b88bedaa URL: http://source.winehq.org/git/wine.git/?a=commit;h=735dbc406b6c76227e3d695c98...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Jan 18 12:19:25 2007 +0100
ntdll: Make the fd cache section an uninterruptible section.
---
dlls/ntdll/server.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c index 6d8c24e..42c3ace 100644 --- a/dlls/ntdll/server.c +++ b/dlls/ntdll/server.c @@ -558,13 +558,14 @@ int server_remove_fd_from_cache( obj_han int server_get_unix_fd( obj_handle_t handle, unsigned int access, int *unix_fd, int *needs_close, enum server_fd_type *type, int *flags ) { + sigset_t sigset; obj_handle_t fd_handle; int ret = 0, removable = 0, fd;
*unix_fd = -1; *needs_close = 0;
- RtlEnterCriticalSection( &fd_cache_section ); + server_enter_uninterrupted_section( &fd_cache_section, &sigset );
fd = get_cached_fd( handle, type ); if (fd != -1 && !flags) goto done; @@ -593,7 +594,7 @@ int server_get_unix_fd( obj_handle_t han SERVER_END_REQ;
done: - RtlLeaveCriticalSection( &fd_cache_section ); + server_leave_uninterrupted_section( &fd_cache_section, &sigset ); if (!ret) *unix_fd = fd; return ret; }