This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: [Patch] Complete bits necessary for making fcntl's file locking optional
Type: Stage:
Components: Extension Modules Versions: Python 3.6
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: EdSchouten
Priority: normal Keywords:

Created on 2016-08-14 20:41 by EdSchouten, last changed 2022-04-11 14:58 by admin.

Files
File name Uploaded Description Edit
patch-no-flock.txt EdSchouten, 2016-08-14 20:41 Patch for making flock() and lockf() optional
Messages (1)
msg272692 - (view) Author: Ed Schouten (EdSchouten) * Date: 2016-08-14 20:41
Python's fcntl module already provides some support for making support for file locking optional. For example, constants like F_SETFL are only defined if present. Unfortunately, the accompanying functions 'flock()' and 'lockf()' are present unconditionally.

CloudABI, a sandboxed runtime environment for UNIX (https://mail.python.org/pipermail/python-dev/2016-July/145708.html), doesn't implement these ways of doing file locking, for the reason that these operations do not fit nicely within its process model. These locks are per-process; not per-descriptor. This means that processes cannot safely be composed or decomposed.

Attached is a relatively small patch to make flock() and lockf() optional, only compiling them when the necessary APIs are present. The LOCK_* constants are now also defined optionally.
History
Date User Action Args
2022-04-11 14:58:34adminsetgithub: 71951
2016-08-14 20:41:01EdSchoutencreate