diff options
author | jkim <jkim@058c260c-8361-11dd-a0ac-aa2bafec7d09> | 2014-07-09 05:14:24 +0800 |
---|---|---|
committer | jkim <jkim@058c260c-8361-11dd-a0ac-aa2bafec7d09> | 2014-07-09 05:14:24 +0800 |
commit | 6361b288a57b287fc4ad8424e6dd65700c935955 (patch) | |
tree | 99dc8fb65fd1414df5f88a1355735dd65ab339e7 | |
parent | 95bd41f369fc039a3bb65d833d59581972bc82c9 (diff) | |
download | xorg-devel-ports-6361b288a57b287fc4ad8424e6dd65700c935955.tar.gz xorg-devel-ports-6361b288a57b287fc4ad8424e6dd65700c935955.tar.zst xorg-devel-ports-6361b288a57b287fc4ad8424e6dd65700c935955.zip |
Fix xshmfence_alloc_shm() on 8.3 and 9.x. O_CLOEXEC is available on all
supported versions but mkostemp(3) is only available from 10.0. Therfore,
the fd was not properly initialized on them.
git-svn-id: https://trillian.chruetertee.ch/svn/ports/trunk@1463 058c260c-8361-11dd-a0ac-aa2bafec7d09
-rw-r--r-- | x11/libxshmfence/Makefile | 2 | ||||
-rw-r--r-- | x11/libxshmfence/files/patch-src__xshmfence_alloc.c | 19 |
2 files changed, 10 insertions, 11 deletions
diff --git a/x11/libxshmfence/Makefile b/x11/libxshmfence/Makefile index c6c3e17..bcbb547 100644 --- a/x11/libxshmfence/Makefile +++ b/x11/libxshmfence/Makefile @@ -2,7 +2,7 @@ PORTNAME= libxshmfence PORTVERSION= 1.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= x11 MAINTAINER= x11@FreeBSD.org diff --git a/x11/libxshmfence/files/patch-src__xshmfence_alloc.c b/x11/libxshmfence/files/patch-src__xshmfence_alloc.c index df38300..6822320 100644 --- a/x11/libxshmfence/files/patch-src__xshmfence_alloc.c +++ b/x11/libxshmfence/files/patch-src__xshmfence_alloc.c @@ -1,8 +1,11 @@ ---- src/xshmfence_alloc.c 2013-11-20 17:13:08.000000000 -0500 -+++ src/xshmfence_alloc.c 2013-12-09 16:06:17.000000000 -0500 -@@ -41,11 +41,15 @@ +--- src/xshmfence_alloc.c.orig 2013-11-20 17:13:08.000000000 -0500 ++++ src/xshmfence_alloc.c 2014-07-08 16:39:18.000000000 -0400 +@@ -39,10 +39,14 @@ + xshmfence_alloc_shm(void) + { char template[] = SHMDIR "/shmfd-XXXXXX"; - int fd; +- int fd; ++ int fd = -1; -#ifdef O_TMPFILE +#if defined(O_CLOEXEC) @@ -10,11 +13,7 @@ + fd = mkostemp(template, O_CLOEXEC); +#elif defined(O_TMPFILE) fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); -- if (fd < 0) ++#endif + if (fd < 0) #endif -+ if (fd < 0) { -+#endif - fd = mkstemp(template); - if (fd < 0) - return fd; |