File: lockfile.py

package info (click to toggle)
python 1.5.2-10potato11
  • links: PTS
  • area: main
  • in suites: potato
  • size: 13,340 kB
  • ctags: 36,680
  • sloc: ansic: 97,117; python: 88,266; makefile: 2,518; lisp: 2,363; sh: 882
file content (15 lines) | stat: -rw-r--r-- 288 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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))