diff --git a/Xext/shm.c b/Xext/shm.c index 589ed0b4d..ed43b9202 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -1195,34 +1195,34 @@ static int shm_tmpfile(void) { #ifdef SHMDIR - int fd; - char template[] = SHMDIR "/shmfd-XXXXXX"; + int fd; + char template[] = SHMDIR "/shmfd-XXXXXX"; #ifdef O_TMPFILE - fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); - if (fd >= 0) { - DebugF ("Using O_TMPFILE\n"); - return fd; - } - ErrorF ("Not using O_TMPFILE\n"); + fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666); + if (fd >= 0) { + DebugF ("Using O_TMPFILE\n"); + return fd; + } + ErrorF ("Not using O_TMPFILE\n"); #endif #ifdef HAVE_MKOSTEMP - fd = mkostemp(template, O_CLOEXEC); + fd = mkostemp(template, O_CLOEXEC); #else - fd = mkstemp(template); + fd = mkstemp(template); #endif - if (fd < 0) - return -1; - unlink(template); -#ifndef HAVE_MKOSTEMP - int flags = fcntl(fd, F_GETFD); - if (flags != -1) { - flags |= FD_CLOEXEC; - (void) fcntl(fd, F_SETFD, &flags); - } -#endif - return fd; -#else + if (fd < 0) return -1; + unlink(template); +#ifndef HAVE_MKOSTEMP + int flags = fcntl(fd, F_GETFD); + if (flags != -1) { + flags |= FD_CLOEXEC; + (void) fcntl(fd, F_SETFD, &flags); + } +#endif + return fd; +#else + return -1; #endif }