Lines Matching refs:semaphore
53 sem_t *semaphore; in semaphore_create() local
57 semaphore = sem_open(name, O_CREAT | O_EXCL, 0, 0); in semaphore_create()
58 if (semaphore == SEM_FAILED) in semaphore_create()
62 return semaphore; in semaphore_create()
65 static inline void semaphore_give(semaphore_t semaphore) in semaphore_give() argument
67 (void)sem_post(semaphore); in semaphore_give()
70 static inline void semaphore_take(semaphore_t semaphore) in semaphore_take() argument
72 (void)sem_wait(semaphore); in semaphore_take()
75 static inline void semaphore_destroy(semaphore_t semaphore) in semaphore_destroy() argument
77 (void)sem_close(semaphore); in semaphore_destroy()
107 static inline void semaphore_give(semaphore_t semaphore) in semaphore_give() argument
109 (void)ReleaseSemaphore(semaphore, 1, NULL); in semaphore_give()
112 static inline void semaphore_take(semaphore_t semaphore) in semaphore_take() argument
114 (void)WaitForSingleObject(semaphore, INFINITE); in semaphore_take()
117 static inline void semaphore_destroy(semaphore_t semaphore) in semaphore_destroy() argument
119 (void)CloseHandle(semaphore); in semaphore_destroy()