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.
This commit is contained in:
parent
6b720730d9
commit
d3839cf9e1
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=361292
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= libxshmfence
|
||||
PORTVERSION= 1.1
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= x11
|
||||
|
||||
MAINTAINER= x11@FreeBSD.org
|
||||
|
@ -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
|
||||
fd = mkstemp(template);
|
||||
if (fd < 0)
|
||||
return fd;
|
||||
if (fd < 0)
|
||||
#endif
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user