Lines Matching defs:semaphore
10 : semaphore(create_sem(0, "blocker")),
16 Data(sem_id semaphore)
17 : semaphore(semaphore),
24 if (semaphore >= 0)
25 delete_sem(semaphore);
28 sem_id semaphore;
40 Blocker::Blocker(sem_id semaphore)
41 : fData(new(std::nothrow) Data(semaphore))
44 delete_sem(semaphore);
66 return (fData->semaphore < 0 ? fData->semaphore : B_OK);
74 if (!fData || fData->semaphore < 0)
76 // get semaphore count
78 status_t error = get_sem_count(fData->semaphore, &count);
81 // set the semaphore count to zero
83 error = acquire_sem_etc(fData->semaphore, count, B_RELATIVE_TIMEOUT, 0);
85 error = release_sem_etc(fData->semaphore, -count, 0);
93 if (!fData || fData->semaphore < 0)
96 status_t error = acquire_sem(fData->semaphore);
108 if (!fData || fData->semaphore < 0)
113 return release_sem(fData->semaphore);