Staging
v0.5.1
https://github.com/python/cpython
Revision 6778f257b7d06d2fc88563a9141b2f1b92d4ebb7 authored by Guido van Rossum on 07 May 1997, 23:50:40 UTC, committed by Guido van Rossum on 07 May 1997, 23:50:40 UTC
1 parent b05a5c7
Raw File
Tip revision: 6778f257b7d06d2fc88563a9141b2f1b92d4ebb7 authored by Guido van Rossum on 07 May 1997, 23:50:40 UTC
Oops, rename2.h was included by some other headers.
Tip revision: 6778f25
lockfile.py
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))
back to top