summaryrefslogtreecommitdiff
path: root/win32/win32.c
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-01-26 01:53:02 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-01-26 01:53:02 +0000
commitbf748365c74b435122c6d8622073f123d8fc6a05 (patch)
treeb105a6f8e730cac997b47fdf861de4ea17cb71b7 /win32/win32.c
parent8452085ea9a00fd007251eb2773f94e1ba7b3063 (diff)
* win32/win32.c (flock_winnt, flock_win95): unlock file even if
LOCK_NB is specified. (backported from CVS HEAD) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32/win32.c')
-rw-r--r--win32/win32.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/win32/win32.c b/win32/win32.c
index 603e0f9a08..69080252fb 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -293,6 +293,7 @@ flock_winnt(VALUE self, int argc, VALUE* argv)
0, LK_LEN, LK_LEN, &o), i);
break;
case LOCK_UN: /* unlock lock */
+ case LOCK_UN|LOCK_NB: /* unlock is always non-blocking, I hope */
LK_ERR(UnlockFileEx(fh, 0, LK_LEN, LK_LEN, &o), i);
break;
default: /* unknown */
@@ -320,6 +321,7 @@ flock_win95(VALUE self, int argc, VALUE* argv)
LK_ERR(LockFile(fh, 0, 0, LK_LEN, LK_LEN), i);
break;
case LOCK_UN:
+ case LOCK_UN|LOCK_NB:
LK_ERR(UnlockFile(fh, 0, 0, LK_LEN, LK_LEN), i);
break;
default: