Home | History | Annotate | Download | only in unix

Lines Matching refs:sem

39 static void NamedSemaphore_getName (const NamedSemaphore* sem, char* buf, int bufSize)
41 deSprintf(buf, bufSize, "/desem-%d-%p", getpid(), (void*)sem);
48 NamedSemaphore* sem = (NamedSemaphore*)deCalloc(sizeof(NamedSemaphore));
54 if (!sem)
57 NamedSemaphore_getName(sem, name, DE_LENGTH_OF_ARRAY(name));
59 sem->semaphore = sem_open(name, O_CREAT|O_EXCL, mode, initialValue);
61 if (sem->semaphore == SEM_FAILED)
63 deFree(sem);
67 return (deSemaphore)sem;
72 NamedSemaphore* sem = (NamedSemaphore*)semaphore;
76 NamedSemaphore_getName(sem, name, DE_LENGTH_OF_ARRAY(name));
78 res = sem_close(sem->semaphore);
83 deFree(sem);
88 sem_t* sem = ((NamedSemaphore*)semaphore)->semaphore;
89 int res = sem_post(sem);
96 sem_t* sem = ((NamedSemaphore*)semaphore)->semaphore;
97 int res = sem_wait(sem);
104 sem_t* sem = ((NamedSemaphore*)semaphore)->semaphore;
105 return (sem_trywait(sem) == 0);