diff --git a/src/regression/sem_close-unmap.c b/src/regression/sem_close-unmap.c new file mode 100644 index 0000000..f1e51d9 --- /dev/null +++ b/src/regression/sem_close-unmap.c @@ -0,0 +1,18 @@ +// commit: f70375df85d26235a45e74559afd69be59e5ff99 2020-10-28 +#define _GNU_SOURCE 1 +#include +#include + +int main() +{ + char buf[] = "mysemXXXXXX"; + if (!mktemp(buf)) return 1; + // open twice + sem_t *sem = sem_open(buf, O_CREAT|O_EXCL, 0600); + sem_open(buf, 0); + sem_unlink(buf); + // close once + sem_close(sem); + // semaphore should be still mapped + sem_post(sem); +}