Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | import struct, fcntl |
2 | ||
3 | def writelock(f): | |
4 | _lock(f, fcntl.F_WRLCK) | |
5 | ||
6 | def readlock(f): | |
7 | _lock(f, fcntl.F_RDLCK) | |
8 | ||
9 | def unlock(f): | |
10 | _lock(f, fcntl.F_UNLCK) | |
11 | ||
12 | def _lock(f, op): | |
13 | dummy = fcntl.fcntl(f.fileno(), fcntl.F_SETLKW, | |
14 | struct.pack('2h8l', op, | |
15 | 0, 0, 0, 0, 0, 0, 0, 0, 0)) |