xref: /third_party/musl/libc-test/src/regression/sem_close-unmap.c (revision 570af302)
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/musl/libc-test/src/regression/
1570af302Sopenharmony_ci// commit: f70375df85d26235a45e74559afd69be59e5ff99 2020-10-28
2570af302Sopenharmony_ci#define _GNU_SOURCE 1
3570af302Sopenharmony_ci#include <fcntl.h>
4570af302Sopenharmony_ci#include <stdlib.h>
5570af302Sopenharmony_ci#include <semaphore.h>
6570af302Sopenharmony_ci
7570af302Sopenharmony_ciint main()
8570af302Sopenharmony_ci{
9570af302Sopenharmony_ci	char buf[] = "mysemXXXXXX";
10570af302Sopenharmony_ci	if (!mktemp(buf)) return 1;
11570af302Sopenharmony_ci	// open twice
12570af302Sopenharmony_ci	sem_t *sem = sem_open(buf, O_CREAT|O_EXCL, 0600, 0);
13570af302Sopenharmony_ci	sem_open(buf, 0);
14570af302Sopenharmony_ci	sem_unlink(buf);
15570af302Sopenharmony_ci	// close once
16570af302Sopenharmony_ci	sem_close(sem);
17570af302Sopenharmony_ci	// semaphore should be still mapped
18570af302Sopenharmony_ci	sem_post(sem);
19570af302Sopenharmony_ci}
20

Indexes created Thu Nov 07 10:32:03 CST 2024