Piotr Caban : msvcrt: Use fd critical section in msvcrt_free_fd.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jun 3 09:43:08 CDT 2015


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed Jun  3 13:25:23 2015 +0200

msvcrt: Use fd critical section in msvcrt_free_fd.

---

 dlls/msvcrt/file.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c
index 1077752..616e205 100644
--- a/dlls/msvcrt/file.c
+++ b/dlls/msvcrt/file.c
@@ -332,10 +332,8 @@ static HANDLE msvcrt_fdtoh(int fd)
 /* INTERNAL: free a file entry fd */
 static void msvcrt_free_fd(int fd)
 {
-  ioinfo *fdinfo;
+  ioinfo *fdinfo = get_ioinfo(fd);
 
-  LOCK_FILES();
-  fdinfo = get_ioinfo_nolock(fd);
   if(fdinfo != &MSVCRT___badioinfo)
   {
     fdinfo->handle = INVALID_HANDLE_VALUE;
@@ -358,7 +356,9 @@ static void msvcrt_free_fd(int fd)
         break;
     }
   }
+  release_ioinfo(fdinfo);
 
+  LOCK_FILES();
   if (fd == MSVCRT_fdend - 1)
     MSVCRT_fdend--;
   if (fd < MSVCRT_fdstart)




More information about the wine-cvs mailing list