未验证 提交 99af4a15 编写于 作者: B Bin Long 提交者: GitHub

Merge pull request #170 from ShenYuhan/release/v1.2

add windows fake fcntl dependency
import fcntl
import os import os
if os.name == "posix":
import fcntl
class WinLock(object): class WinLock(object):
...@@ -15,23 +16,22 @@ class Lock(object): ...@@ -15,23 +16,22 @@ class Lock(object):
_owner = None _owner = None
def __init__(self): def __init__(self):
self.LOCK_EX = fcntl.LOCK_EX
self.LOCK_UN = fcntl.LOCK_UN
self.LOCK_TE = ""
if os.name == "posix": if os.name == "posix":
self.lock = fcntl self.lock = fcntl
else: else:
self.lock = WinLock() self.lock = WinLock()
_lock = self.lock _lock = self.lock
self.LOCK_EX = self.lock.LOCK_EX
self.LOCK_UN = self.lock.LOCK_UN
def get_lock(self): def get_lock(self):
return self.lock return self.lock
def flock(self, fp, cmd): def flock(self, fp, cmd):
if cmd == fcntl.LOCK_UN: if cmd == self.lock.LOCK_UN:
Lock._owner = None Lock._owner = None
self.lock.flock(fp, cmd) self.lock.flock(fp, cmd)
elif cmd == fcntl.LOCK_EX: elif cmd == self.lock.LOCK_EX:
if Lock._owner is None: if Lock._owner is None:
Lock._owner = os.getpid() Lock._owner = os.getpid()
self.lock.flock(fp, cmd) self.lock.flock(fp, cmd)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册