summaryrefslogtreecommitdiffstats
path: root/Modules/fcntlmodule.c
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2001-01-25 00:20:13 (GMT)
committerBarry Warsaw <barry@python.org>2001-01-25 00:20:13 (GMT)
commitbd3dc1f0cbc616605a1b8f322877613537482b60 (patch)
tree2abf9d3b9af34b489417b6fe22e62e97803a743a /Modules/fcntlmodule.c
parent902446a28dd76cb06ad9058a7fa2aaea488fc228 (diff)
downloadcpython-bd3dc1f0cbc616605a1b8f322877613537482b60.zip
cpython-bd3dc1f0cbc616605a1b8f322877613537482b60.tar.gz
cpython-bd3dc1f0cbc616605a1b8f322877613537482b60.tar.bz2
lockf_doc: a much better description of the lockf() function, based on
an eyeballing of the code.
Diffstat (limited to 'Modules/fcntlmodule.c')
-rw-r--r--Modules/fcntlmodule.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index 93fdf40..91119c7 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -262,10 +262,29 @@ fcntl_lockf(PyObject *self, PyObject *args)
}
static char lockf_doc [] =
-"lockf (fd, operation)\n\
-\n\
-This is a wrapper around the FCNTL.F_SETLK and FCNTL.F_SETLKW fcntl()\n\
-calls. See the Unix manual for details.";
+"lockf (fd, operation, length=0, start=0, whence=0)
+
+This is essentially a wrapper around the fcntl() locking calls. fd is the
+file descriptor of the file to lock or unlock, and operation is one of the
+following values:
+
+ LOCK_UN - unlock
+ LOCK_SH - acquire a shared lock
+ LOCK_EX - acquire an exclusive lock
+
+When operation is LOCK_SH or LOCK_EX, it can also be bit-wise OR'd with
+LOCK_NB to avoid blocking on lock acquisition. If LOCK_NB is used and the
+lock cannot be acquired, an IOError will be raised and the exception will
+have an errno attribute set to EACCES or EAGAIN (depending on the operating
+system -- for portability, check for either value).
+
+length is the number of bytes to lock, with the default meaning to lock to
+EOF. start is the byte offset, relative to whence, to that the lock
+starts. whence is as with fileobj.seek(), specifically:
+
+ 0 - relative to the start of the file (SEEK_SET)
+ 1 - relative to the current buffer position (SEEK_CUR)
+ 2 - relative to the end of the file (SEEK_END)";
/* List of functions */