Lines Matching refs:semaphoreSet

44 	sem_undo(XsiSemaphoreSet *semaphoreSet, Team *team, int16 *undoValues)
46 semaphore_set(semaphoreSet),
535 void SetSemaphoreSetID(XsiSemaphoreSet *semaphoreSet)
537 fSemaphoreSetId = semaphoreSet->ID();
649 XsiSemaphoreSet *semaphoreSet = current->semaphore_set;
652 MutexLocker setLocker(semaphoreSet->Lock());
655 for (int i = 0; i < semaphoreSet->NumberOfSemaphores(); i++)
659 semaphoreSet->ID(), i, (int)current->undo_values[i]));
660 semaphoreSet->Semaphore(i)->Revert(current->undo_values[i]);
665 semaphoreSet->GetUndoList().Remove(current);
681 XsiSemaphoreSet *semaphoreSet = NULL;
702 semaphoreSet = sSemaphoreHashTable.Lookup(semaphoreSetID);
703 if (semaphoreSet == NULL) {
708 if (!semaphoreSet->HasPermission()) {
710 "on semaphore %d, key %d\n", semaphoreSet->ID(),
714 if (numberOfSemaphores > semaphoreSet->NumberOfSemaphores()
718 semaphoreSet->ID(), (int)key));
722 return semaphoreSet->ID();
754 semaphoreSet = new(std::nothrow) XsiSemaphoreSet(numberOfSemaphores, flags);
755 if (semaphoreSet == NULL || !semaphoreSet->InitOK()) {
758 delete semaphoreSet;
767 semaphoreSet->SetID();
769 semaphoreSet->SetIpcKey((key_t)-1);
772 semaphoreSet->SetIpcKey(key);
773 ipcKey->SetSemaphoreSetID(semaphoreSet);
775 sSemaphoreHashTable.Insert(semaphoreSet);
777 semaphoreSet->ID(), semaphoreSet->SequenceNumber()));
779 return semaphoreSet->ID();
799 XsiSemaphoreSet *semaphoreSet = sSemaphoreHashTable.Lookup(semaphoreID);
800 if (semaphoreSet == NULL) {
806 || semaphoreNumber > semaphoreSet->NumberOfSemaphores()) {
817 MutexLocker setLocker(semaphoreSet->Lock());
824 XsiSemaphore *semaphore = semaphoreSet->Semaphore(semaphoreNumber);
827 if (!semaphoreSet->HasReadPermission()) {
829 "on semaphore %d, key %d\n", semaphoreSet->ID(),
830 (int)semaphoreSet->IpcKey()));
838 if (!semaphoreSet->HasPermission()) {
840 "on semaphore %d, key %d\n", semaphoreSet->ID(),
841 (int)semaphoreSet->IpcKey()));
849 semaphoreSet->ClearUndo(semaphoreNumber);
856 if (!semaphoreSet->HasReadPermission()) {
858 "on semaphore %d, key %d\n", semaphoreSet->ID(),
859 (int)semaphoreSet->IpcKey()));
867 if (!semaphoreSet->HasReadPermission()) {
869 "on semaphore %d, key %d\n", semaphoreSet->ID(),
870 (int)semaphoreSet->IpcKey()));
878 if (!semaphoreSet->HasReadPermission()) {
880 "on semaphore %d, key %d\n", semaphoreSet->ID(),
881 (int)semaphoreSet->IpcKey()));
889 if (!semaphoreSet->HasReadPermission()) {
891 "permission on semaphore %d, key %d\n", semaphoreSet->ID(),
892 (int)semaphoreSet->IpcKey()));
895 for (int i = 0; i < semaphoreSet->NumberOfSemaphores(); i++) {
896 semaphore = semaphoreSet->Semaphore(i);
909 if (!semaphoreSet->HasPermission()) {
911 "on semaphore %d, key %d\n", semaphoreSet->ID(),
912 (int)semaphoreSet->IpcKey()));
916 for (int i = 0; i < semaphoreSet->NumberOfSemaphores(); i++) {
917 semaphore = semaphoreSet->Semaphore(i);
929 semaphoreSet->ClearUndos();
935 if (!semaphoreSet->HasReadPermission()) {
937 "permission on semaphore %d, key %d\n", semaphoreSet->ID(),
938 (int)semaphoreSet->IpcKey()));
942 sem.sem_perm = semaphoreSet->IpcPermission();
943 sem.sem_nsems = semaphoreSet->NumberOfSemaphores();
944 sem.sem_otime = semaphoreSet->LastSemopTime();
945 sem.sem_ctime = semaphoreSet->LastSemctlTime();
956 if (!semaphoreSet->HasPermission()) {
959 semaphoreSet->ID(), (int)semaphoreSet->IpcKey()));
968 semaphoreSet->DoIpcSet(&sem);
979 if (!semaphoreSet->HasPermission()) {
982 semaphoreSet->ID(), (int)semaphoreSet->IpcKey()));
985 key_t key = semaphoreSet->IpcKey();
991 sSemaphoreHashTable.Remove(semaphoreSet);
996 atomic_add(&sXsiSemaphoreCount, -semaphoreSet->NumberOfSemaphores());
1000 = semaphoreSet->GetUndoList().RemoveHead()) {
1007 delete semaphoreSet;
1036 XsiSemaphoreSet *semaphoreSet = sSemaphoreHashTable.Lookup(semaphoreID);
1037 if (semaphoreSet == NULL) {
1042 MutexLocker setLocker(semaphoreSet->Lock());
1067 const ushort numberOfSemaphores = semaphoreSet->NumberOfSemaphores();
1079 semaphore = semaphoreSet->Semaphore(semaphoreNumber);
1114 semaphore = semaphoreSet->Semaphore(semaphoreNumber);
1132 const uint32 sequenceNumber = semaphoreSet->SequenceNumber();
1136 semaphoreSet = NULL;
1144 semaphoreSet = sSemaphoreHashTable.Lookup(semaphoreID);
1145 if (result == EIDRM || semaphoreSet == NULL || (semaphoreSet != NULL
1146 && sequenceNumber != semaphoreSet->SequenceNumber())) {
1174 XsiSemaphore *semaphore = semaphoreSet->Semaphore(semaphoreNumber);
1177 if (semaphoreSet->RecordUndo(semaphoreNumber, operation) != B_OK) {
1183 semaphore = semaphoreSet->Semaphore(semaphoreNumber);
1191 semaphoreSet->RevertUndo(operations[j].sem_num,
1205 XsiSemaphore *semaphore = semaphoreSet->Semaphore(semaphoreNumber);
1208 semaphoreSet->SetLastSemopTime();