Alexandre Julliard : ntdll: Make the fd cache section an uninterruptible section.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jan 18 06:45:09 CST 2007


Module: wine
Branch: master
Commit: 735dbc406b6c76227e3d695c98a87697b88bedaa
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=735dbc406b6c76227e3d695c98a87697b88bedaa

Author: Alexandre Julliard <julliard at 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;
 }




More information about the wine-cvs mailing list