Piotr Caban : msvcrt: Don't lock __badioinfo.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jun 4 09:32:02 CDT 2015


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Jun  4 11:24:52 2015 +0200

msvcrt: Don't lock __badioinfo.

---

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

diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c
index c9f9cae..07863be 100644
--- a/dlls/msvcrt/file.c
+++ b/dlls/msvcrt/file.c
@@ -260,6 +260,8 @@ static inline ioinfo* get_ioinfo_nolock(int fd)
 static inline ioinfo* get_ioinfo(int fd)
 {
     ioinfo *ret = get_ioinfo_nolock(fd);
+    if(ret == &MSVCRT___badioinfo)
+        return ret;
     if(!(ret->exflag & EF_CRIT_INIT)) {
         LOCK_FILES();
         if(!(ret->exflag & EF_CRIT_INIT)) {
@@ -274,7 +276,7 @@ static inline ioinfo* get_ioinfo(int fd)
 
 static inline void release_ioinfo(ioinfo *info)
 {
-    if(info->exflag & EF_CRIT_INIT)
+    if(info!=&MSVCRT___badioinfo && info->exflag & EF_CRIT_INIT)
         LeaveCriticalSection(&info->crit);
 }
 




More information about the wine-cvs mailing list