Guido van Rossum | 19806f4 | 1994-05-03 14:46:18 +0000 | [diff] [blame] | 1 | import struct, fcntl, 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)) |