aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-28 10:37:41 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-28 10:37:41 +0000
commit51cefa387c187aaa01c1023d4017fb48f5a4e361 (patch)
treeb8f4afbfa9159026426fad36f1099364b9516ef0
parent9d7e47114cca19a355f1410f2b7b48f150f0858c (diff)
downloadruby-51cefa387c187aaa01c1023d4017fb48f5a4e361.tar.gz
* win32/wini32.c (LK_ERR): with overlapped I/O, LockFileEx() returns
ERROR_IO_PENDING if the file is locked. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--win32/win32.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f1fe4492a9..763a92eb60 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Sep 28 19:36:20 2009 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * win32/wini32.c (LK_ERR): with overlapped I/O, LockFileEx() returns
+ ERROR_IO_PENDING if the file is locked.
+
Mon Sep 28 19:05:05 2009 Martin Duerst <duerst@it.aoyama.ac.jp>
* include/ruby/st.h: aligned prototype of st_hash_uint32 with function
diff --git a/win32/win32.c b/win32/win32.c
index 353873a22b..222af78c72 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -253,7 +253,7 @@ GetCurrentThreadHandle(void)
i = 0; \
else { \
DWORD err = GetLastError(); \
- if (err == ERROR_LOCK_VIOLATION) \
+ if (err == ERROR_LOCK_VIOLATION || err == ERROR_IO_PENDING) \
errno = EWOULDBLOCK; \
else if (err == ERROR_NOT_LOCKED) \
i = 0; \