mirror of
https://github.com/python/cpython.git
synced 2024-11-27 11:55:13 +08:00
16 lines
288 B
Python
16 lines
288 B
Python
import struct, fcntl, FCNTL
|
|
|
|
def writelock(f):
|
|
_lock(f, FCNTL.F_WRLCK)
|
|
|
|
def readlock(f):
|
|
_lock(f, FCNTL.F_RDLCK)
|
|
|
|
def unlock(f):
|
|
_lock(f, FCNTL.F_UNLCK)
|
|
|
|
def _lock(f, op):
|
|
dummy = fcntl.fcntl(f.fileno(), FCNTL.F_SETLKW,
|
|
struct.pack('2h8l', op,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0))
|