summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/shm.cc
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowi@redhat.com>2016-03-28 12:48:20 -0500
committerCorinna Vinschen <corinna@vinschen.de>2016-03-29 12:14:18 +0200
commit660f84b15babdada62703f47e43f6dba8b4aebe9 (patch)
treeecbdae58cef66ff78e20bee106c06c03d31bce01 /winsup/cygwin/shm.cc
parentecf453f9635fb278cff4d4bae21a1e249313b817 (diff)
downloadcygnal-660f84b15babdada62703f47e43f6dba8b4aebe9.tar.gz
cygnal-660f84b15babdada62703f47e43f6dba8b4aebe9.tar.bz2
cygnal-660f84b15babdada62703f47e43f6dba8b4aebe9.zip
cygwin: export __getpagesize
The inclusion of <sys/cygwin.h> by <sys/shm.h>, besides causing namespace pollution, also makes it very difficult to get the WINVER-dependent parts of the former. This affects code (such as x11vnc -unixpw_nis) which use both SysV shared memory (e.g. the X11 MIT-SHM extension) and user password authentication. getpagesize is the simplest function to retreive this information, but it is a legacy function and would also pollute the global namespace. The LSB lists another form which is in the implementation-reserved namespace: http://refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/baselib---getpagesize.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
Diffstat (limited to 'winsup/cygwin/shm.cc')
-rw-r--r--winsup/cygwin/shm.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/winsup/cygwin/shm.cc b/winsup/cygwin/shm.cc
index e209346f7..1d3200c36 100644
--- a/winsup/cygwin/shm.cc
+++ b/winsup/cygwin/shm.cc
@@ -21,6 +21,10 @@ details. */
#include "sync.h"
#include "ntdll.h"
+/* __getpagesize is only available from libcygwin.a */
+#undef SHMLBA
+#define SHMLBA (wincap.allocation_granularity ())
+
/*
* client_request_shm Constructors
*/