Blame src/regression/sem_close-unmap.c

Szabolcs Nagy b589b3
// commit: f70375df85d26235a45e74559afd69be59e5ff99 2020-10-28
Szabolcs Nagy b589b3
#define _GNU_SOURCE 1
Matus Kysel 036d73
#include <fcntl.h>
Szabolcs Nagy b589b3
#include <stdlib.h>
Szabolcs Nagy b589b3
#include <semaphore.h>
Szabolcs Nagy b589b3
Szabolcs Nagy b589b3
int main()
Szabolcs Nagy b589b3
{
Szabolcs Nagy b589b3
	char buf[] = "mysemXXXXXX";
Szabolcs Nagy b589b3
	if (!mktemp(buf)) return 1;
Szabolcs Nagy b589b3
	// open twice
Érico Nogueira a0c28c
	sem_t *sem = sem_open(buf, O_CREAT|O_EXCL, 0600, 0);
Szabolcs Nagy b589b3
	sem_open(buf, 0);
Szabolcs Nagy b589b3
	sem_unlink(buf);
Szabolcs Nagy b589b3
	// close once
Szabolcs Nagy b589b3
	sem_close(sem);
Szabolcs Nagy b589b3
	// semaphore should be still mapped
Szabolcs Nagy b589b3
	sem_post(sem);
Szabolcs Nagy b589b3
}