[RFC][PATCH 1/2] fcntl.h: add new definitions for file-private lock cmd values
Jeff Layton
jlayton@redhat.com
Tue Feb 11 19:04:00 GMT 2014
Signed-off-by: Jeff Layton <jlayton@redhat.com>
---
ChangeLog | 4 ++++
sysdeps/unix/sysv/linux/bits/fcntl-linux.h | 18 ++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 5e820f7e9900..db5b90385e2c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-02-11 Jeff Layton <jlayton@redhat.com>
+
+ * add new fcntl cmd macros for file-private locks
+
2014-02-11 Stefan Liebler <stli@linux.vnet.ibm.com>
[BZ #16447]
diff --git a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
index cd4722b836ea..71fd80dba2d8 100644
--- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
+++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
@@ -117,6 +117,24 @@
# 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.
+ */
+#ifndef F_GETLKP
+# define F_GETLKP 36
+# define F_SETLKP 37
+# define F_SETLKPW 38
+#endif
+
#ifdef __USE_LARGEFILE64
# define O_LARGEFILE __O_LARGEFILE
#endif
--
1.8.5.3
More information about the Libc-alpha
mailing list