| 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)) | ||||