This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2 1/2] fcntl-linux.h: add new definitions for file-private lock cmd values
- From: Jeff Layton <jlayton at redhat dot com>
- To: libc-alpha at sourceware dot org
- Date: Fri, 11 Apr 2014 08:55:44 -0400
- Subject: [PATCH v2 1/2] fcntl-linux.h: add new definitions for file-private lock cmd values
- Authentication-results: sourceware.org; auth=none
- References: <1397220945-11926-1-git-send-email-jlayton at redhat dot com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
---
ChangeLog | 5 +++++
sysdeps/unix/sysv/linux/bits/fcntl-linux.h | 19 +++++++++++++++++++
2 files changed, 24 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 5708d4eb64c2..55a84e598e46 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-11 Jeff Layton <jlayton@redhat.com>
+
+ * sysdeps/unix/sysv/linux/bits/fcntl-linux.h:
+ (F_GETLKP, F_SETLKP, F_SETLKPW): New macros.
+
2014-04-11 Stefan Liebler <stli@linux.vnet.ibm.com>
* sysdeps/s390/s390-32/configure.ac: Unify file with ...
diff --git a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
index 915eb3ede560..ae8ec1598a15 100644
--- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
+++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
@@ -117,6 +117,25 @@
# define F_SETLKW64 14 /* Set record locking info (blocking). */
#endif
+/* fd "private" POSIX locks.
+
+ Usually POSIX locks held by a process are released on *any* close and are
+ not inherited across a fork.
+
+ These cmd values will set locks that conflict with normal POSIX locks, but
+ are "owned" by the opened file, not the process. This means that they are
+ inherited across fork like BSD (flock) locks, and they are only released
+ automatically when the last reference to the the open file against which
+ they were acquired is put.
+ */
+#ifdef __USE_GNU
+# ifndef F_GETLKP
+# define F_GETLKP 36
+# define F_SETLKP 37
+# define F_SETLKPW 38
+# endif
+#endif
+
#ifdef __USE_LARGEFILE64
# define O_LARGEFILE __O_LARGEFILE
#endif
--
1.9.0