Lines Matching refs:sem

187 		mutex_init(&fLock, "global named sem table");
205 NamedSem* sem = fNamedSemaphores.Lookup(name);
206 if (sem != NULL) {
210 if (!sem->HasPermissions())
213 sem->AcquireReference();
214 _sem = sem;
226 sem = new(std::nothrow) NamedSem;
227 if (sem == NULL)
230 status_t error = sem->Init(name, mode, semCount);
232 delete sem;
236 error = fNamedSemaphores.Insert(sem);
238 delete sem;
243 sem->AcquireReference();
247 _sem = sem;
256 NamedSem* sem = fNamedSemaphores.Lookup(name);
257 if (sem == NULL)
260 if (!sem->HasPermissions())
263 fNamedSemaphores.Remove(sem);
264 sem->ReleaseReference();
315 SemInfo* sem = fSemaphore->Clone();
316 if (sem == NULL)
319 TeamSemInfo* clone = new(std::nothrow) TeamSemInfo(sem, fUserSemaphore);
321 sem->Delete();
377 mutex_init(&fLock, "realtime sem context");
386 while (TeamSemInfo* sem = it.Next()) {
389 fSemaphores.RemoveUnchecked(sem);
390 delete sem;
416 while (TeamSemInfo* sem = it.Next()) {
417 TeamSemInfo* clonedSem = sem->Clone();
436 NamedSem* sem = NULL;
438 sem, _created);
444 TeamSemInfo* teamSem = fSemaphores.Lookup(sem->ID());
448 sem->ReleaseReference();
454 // not open yet -- create a new team sem
458 sem->ReleaseReference();
464 teamSem = new(std::nothrow) TeamSemInfo(sem, userSem);
466 sem->ReleaseReference();
494 TeamSemInfo* sem = fSemaphores.Lookup(id);
495 if (sem == NULL)
498 if (sem->Close()) {
500 fSemaphores.Remove(sem);
502 deleteUserSem = sem->UserSemaphore();
503 delete sem;
513 TeamSemInfo* sem = fSemaphores.Lookup(id);
514 if (sem == NULL)
517 id = sem->SemaphoreID();
529 TeamSemInfo* sem = fSemaphores.Lookup(id);
530 if (sem == NULL)
533 id = sem->SemaphoreID();
545 TeamSemInfo* sem = fSemaphores.Lookup(id);
546 if (sem == NULL)
549 id = sem->SemaphoreID();
650 panic("realtime_sem_init() failed to init global sem table");
737 // close sem
780 // get sem count