X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fsem_open.c;h=fda0acd35c717992e44b4c5191e6f400d1190532;hb=ea7891a651dc4abc1305438470f1e4cc3b64ece2;hp=9a95d257172096f6bd933005adb1299bbecf00c9;hpb=7c20a11801fd56cbadac5a6e88ddddf8656ac1bc;p=musl diff --git a/src/thread/sem_open.c b/src/thread/sem_open.c index 9a95d257..fda0acd3 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[2]; #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. */