From 39f296a95b02925b8c3439e140a5668e36055d9b Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sat, 29 Sep 2012 16:48:52 -0400 Subject: use O_CLOEXEC to open semaphore files in sem_open --- src/thread/sem_open.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/thread') diff --git a/src/thread/sem_open.c b/src/thread/sem_open.c index d8d68392..0361a769 100644 --- a/src/thread/sem_open.c +++ b/src/thread/sem_open.c @@ -75,9 +75,9 @@ sem_t *sem_open(const char *name, int flags, ...) clock_gettime(CLOCK_REALTIME, &ts); snprintf(tmp, sizeof(tmp), "/dev/shm/%p-%p-%d-%d", &name, name, (int)getpid(), (int)ts.tv_nsec); - tfd = open(tmp, O_CREAT|O_EXCL|O_RDWR, mode); + tfd = open(tmp, O_CREAT|O_EXCL|O_RDWR|O_CLOEXEC, mode); if (tfd<0) return SEM_FAILED; - dir = open("/dev/shm", O_DIRECTORY|O_RDONLY); + dir = open("/dev/shm", O_DIRECTORY|O_RDONLY|O_CLOEXEC); if (dir<0 || write(tfd,&newsem,sizeof newsem)!=sizeof newsem) { if (dir >= 0) close(dir); close(tfd); -- cgit v1.2.1