X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fsem_open.c;h=dc0279e8a7003e0a51b4648e1ce94c7bdb75a2ff;hb=ebd8ef50d5012733d86ed4a6834ca6d776b069ae;hp=9a95d257172096f6bd933005adb1299bbecf00c9;hpb=7c20a11801fd56cbadac5a6e88ddddf8656ac1bc;p=musl diff --git a/src/thread/sem_open.c b/src/thread/sem_open.c index 9a95d257..dc0279e8 100644 --- a/src/thread/sem_open.c +++ b/src/thread/sem_open.c @@ -20,7 +20,7 @@ static struct { sem_t *sem; int refcnt; } *semtab; -static int lock[2]; +static volatile int lock[1]; #define FLAGS (O_RDWR|O_NOFOLLOW|O_CLOEXEC|O_NONBLOCK) @@ -126,6 +126,7 @@ sem_t *sem_open(const char *name, int flags, ...) e = link(tmp, name) ? errno : 0; unlink(tmp); if (!e) break; + munmap(map, sizeof(sem_t)); /* Failure is only fatal when doing an exclusive open; * otherwise, next iteration will try to open the * existing file. */