我有以下代码:
import os, fcntl
f = open('./testfile.t', 'wb')
f.write(os.urandom(64))
fcntl.flock(f.fileno(), fcntl.LOCK_EX)
print 'Locked'
try:
f2 = open('./testfile.t', 'wb')
except IOError as err:
print err.errno
print err
这个想法是第二个open
应该返回错误,因为文件仍然被锁定。
问题是它没有。
此外,如果我尝试获取f2.fileno()
上的锁,此代码只会挂起,而不是抛出异常。
我做错了什么?