1. Armin Rigo
  2. cpython-withatomic

Commits

Guido van Rossum  committed c2ff216

Module to lock open files using fcntl()

  • Participants
  • Parent commits 4e7eb5a
  • Branches legacy-trunk

Comments (0)

Files changed (2)

File Lib/lib-old/lockfile.py

View file
  • Ignore whitespace
+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))

File Lib/lockfile.py

View file
  • Ignore whitespace
+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))