BOOL OMuxWaitSem::addSemaphore(OMuxSem *sema) { SEMRECORD semRec; if (!sema) { muxwaitState = ERROR_INVALID_PARAMETER; return(FALSE); } semRec.hsemCur = (HSEM) sema->getMuxSemHandle(); return(addSemaphore(&semRec)); }
void initGlobals() { // LEAVE THIS STATEMENT pthread_mutex_init(&outMutex, NULL); // TODO: Complete this function maleCount = 0; femaleCount = 0; sem_init(&male, 0, 1); sem_init(&female, 0, 1); pthread_mutex_init(&limitMaleMutex, NULL); pthread_mutex_init(&limitFemaleMutex, NULL); pthread_mutex_init(&maleCountMutex, NULL); pthread_mutex_init(&femaleCountMutex, NULL); // TODO: Complete for scheduler addLock("limitMaleMutex", &limitMaleMutex); addLock("limitFemaleMutex", &limitFemaleMutex); addLock("maleCountMutex", &maleCountMutex); addLock("femaleCountMutex", &femaleCountMutex); addSemaphore("female", SEM_FEMALE_INITIAL, &female); addSemaphore("male", SEM_MALE_INITIAL, &male); }