int main() { int rv1 = 0, rv2 = 0, rv3 = 0, rv4 = 0 ,rv5 = 0,index = 0, cvrv = 0,junk = 0; int mvVal = 0, result = 0, CVrv1 = 0 ,CVrv2 = 0, CVrv3 = 0,CVrv4 = 0,CVrv5 = 0; int flag = 0; Print_Stmt("Calling start simulation\n"); StartSimulation(); Print_Stmt("In halt1.c\n"); rv1 = CreateLock("firstlock", 10, 1); rv2 = CreateLock("firstlock", 10, 2); for(index = 0; index <= 100000; index ++){ for(index = 0; index <= 100000; index ++){ for(index = 0; index <= 100000; index ++) junk = 2; } } result = Acquire(rv1); Print_1Arg("\n*******TestFiles : Acquire the lock use valid Index %d ********\n",rv1); Print_1Arg("\n*******TestFiles : The return value is %d*********\n\n",result); }
int main() { int rv = 0, index = 0, cvrv = 0; int mvVal = 0; Print_Stmt("Calling start simulation\n"); StartSimulation(); Print_Stmt("In halt.c\n"); rv = CreateLock("firstLock", 9, 1); rv = CreateLock("secondLock", 10, 1); rv = CreateLock("firstLock", 9, 2); rv = CreateLock("secondLock", 10, 2); rv = CreateLock("firstLock", 9, 3); rv = CreateLock("secondLock", 10, 3); rv = CreateLock("firstLock", 9, 4); rv = CreateLock("secondLock", 10, 4); rv = CreateLock("firstLock", 9, 5); rv = CreateLock("secondLock", 10, 5); rv = CreateLock("firstLock", 9, 6); rv = CreateLock("secondLock", 10, 6); rv = CreateLock("firstLock", 9, 7); rv = CreateLock("secondLock", 10, 7); rv = CreateLock("firstLock", 9, 8); rv = CreateLock("secondLock", 10, 8); rv = CreateLock("firstLock", 9, 9); rv = CreateLock("secondLock", 10, 9); rv = CreateLock("firstLock", 9, 10); rv = CreateLock("secondLock", 10, 10); Acquire(rv); Release(rv); cvrv = CreateCV("firstCV", 7, 0); cvrv = CreateCV("firstCV", 7, 0); cvrv = CreateCV("firstCV2", 8, 0); cvrv = CreateCV("firstCV3", 8, 0); Wait(cvrv, rv); Signal(cvrv, rv); DestroyLock(rv); rv = CreateCV("firstCV", 7, 4); CreateMV("firstMV", 7, 0); rv = CreateMV("firstMV", 7, 0); SetMV(rv, 3); mvVal = GetMV(rv); Print_1Arg("MV value obtained in halt is %d\n", mvVal); Print_Stmt("Exiting in halt.c\n"); }
void main() { Print_Stmt("Hi"); Exec("../test/customer-d", 18); }
Node* Syntactic::Small_Stmt() { Node* node = nullptr; if (lexic->type == Token::PRINT) { node = Print_Stmt(); } else { node = Expr_Stmt(); } return node; }
void main() { int userInput = 0; char buf[3]; /* Output statements for test case menu */ Print_Stmt("\n\t\t\t\t--------------------------------------------------------------\n"); Print_Stmt("\n\t\t PROJECT 3 GROUP - 58\n\n"); Print_Stmt("\t\t\t Virtual Memory and Basic Networking\n"); Print_Stmt("\t\t\t >>>>>>>> TEST CASES PART 1 & 2 <<<<<<<<\n"); Print_Stmt("\n\t\t\t\t--------------------------------------------------------------\n\n"); Print_Stmt(" 1 > Single Exec MatMult\n"); Print_Stmt(" 2 > Two Exec MatMult\n"); Print_Stmt(" 3 > Single Exec Sort\n"); Print_Stmt(" 4 > Two Exec Sort\n"); Print_Stmt(" 5 > Two Fork MatMult\n"); Print_Stmt(" 6 > Two Fork Sort\n"); Print_Stmt("\n\nEnter the index of the testcase you want to run here ->"); userInput = Scan("%d"); switch(userInput) { case 1: matMultTC(1); break; case 2: matMultTC(2); break; case 3: sortTC(1); break; case 4: sortTC(2); break; case 5: Exec("../test/forkthread", 18); break; case 6: Exec("../test/forkthreadSort", 22); break; default: Print_Stmt("\n Invalid option entered by the user !!\n\n"); } }
void main() { /* Print_Stmt("Calling start simulation\n"); */ StartSimulation(); /* Print_Stmt("Back from start simulation\n"); */ /* -----------------INITIALISATION -----------------------*/ /* ------------------FOOD TO BE COOKED AND FOOD READY STRUCTURE ATTRIBUTES MONITOR VARIABLES CREATION------------------- */ /* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */ /* INITIALISATION BLOCK BEGINS */ /* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */ /* --------EVERY ENTITY DOES EVERYTHING BELOW--------------------- */ /* --------------------------------------------------------------- */ /*------------------------------------------------------------ */ /* CREATE all the Locks using Syscalls */ /*------------------------------------------------------------ */ custLineLock = CreateLock("custLineLk", 10, 0); foodReadyDBLock = CreateLock("foodReadyDBLk", 13, 0); foodToBeCookedDBLock = CreateLock("fd2BCokdDBLk", 12, 0); nextTokenNumberLock = CreateLock("nextTokenNoLk", 13, 0); moneyAtRestaurantLock = CreateLock("moneyAtRestLk", 13, 0); waitToGoLock = CreateLock("waitToGoLk", 10, 0); tablesDataLock = CreateLock("tablesDataLk", 12, 0); eatInWaitingLock = CreateLock("eatInWaitingLk", 14, 0); eatInFoodWaitingLock = CreateLock("eatInFWLk", 9, 0); foodToBagLock = CreateLock("foodToBagLk", 11, 0); foodBaggedListLock = CreateLock("foodBgdListLk", 13, 0); inventoryLock = CreateLock("inventoryLk", 11, 0); managerLock = CreateLock("managerLk", 9, 0); whatToCookNextLock = CreateLock("whatToCookNextLk", 16, 0); stopSixBurgerLock = CreateLock("stop6BLk", 8, 0); stopThreeBurgerLock = CreateLock("stop3BLk", 8, 0); stopVegBurgerLock = CreateLock("stopVBLk", 8, 0); stopFriesLock = CreateLock("stopFLk", 7, 0); waiterSleepLock = CreateLock("waiterSleepLk", 13, 0); customerDataLock = CreateLock("custDataLk", 10, 0); wakeUpCookLock = CreateLock("wakeUpCookLk", 12, 0); custServedLock = CreateLock("custServedLk", 12, 0); nextWaiterIndexLock = CreateLock("nxtWtrIdxLk", 11, 0); nextCookIndexLock = CreateLock("nxtCkIdxLk", 10, 0); nextCustomerIndexLock = CreateLock("nxtCustIdxLk", 12, 0); nextOrderTakerIndexLock = CreateLock("nxtOTIdxLk", 10, 0); whatToCookFirstLock = CreateLock("what2CkFrstLk", 13, 0); cooksOnBreakCountLock = CreateLock("cksOnBrkCntLk", 13, 0); workingCookLock = CreateLock("workingCooklk", 13, 0); BagTheOrdersLock = CreateLock("BagTheOrdersLk", 14, 0); /* Create OT_COUNT number of locks, one Lock for each Ordertaker */ for(index = 1; index <= OT_COUNT; index++) orderTakerLock[index] = CreateLock("orderTakerLk", 12, index); /* --------------------------------------------------------------- */ /* Print_Stmt("after creating locks\n"); */ /*------------------------------------------------------------ */ /* Create all the Condition variables using Syscalls */ /*------------------------------------------------------------ */ custLineCV = CreateCV("custLineCV", 10, 0); tablesDataCV = CreateCV("tablesDataCV", 12, 0); eatInWaitingCV = CreateCV("eatInWaitingCV", 14, 0); eatInFoodWaitingCV = CreateCV("eatInFWtngCV", 12, 0); managerCV = CreateCV("managerCV", 9, 0); waiterSleepCV = CreateCV("waiterSleepCV", 13, 0); wakeUpCookCV = CreateCV("wakeUpCookCV", 12, 0); toGoCV = CreateCV("toGoCV", 6, 0); /* Create OT_COUNT number of Cvs, one CV for each Ordertaker */ for(index = 1; index <= OT_COUNT; index++) orderTakerCV[index] = CreateCV("orderTakerCV", 12, index); /* --------------------------------------------------------------- */ /* foodReadyData.sixBurger */ readySixBurgerMVi = CreateMV("ready6B", 7, 100, 0); /* foodReadyData.threeeBurger */ readyThreeBurgerMVi = CreateMV("ready3B", 7, 100, 0); /* foodReadyData.vegBurger */ readyVegBurgerMVi = CreateMV("ready6VB", 8, 100, 0); /* foodReadyData.fries */ readyFriesMVi = CreateMV("readyF", 6, 100, 0); /* foodToBeCookedData.sixBurger */ toBeCookedSixburgerMVi = CreateMV("toBecooked6B", 12, 0, 0); /* foodToBeCookedData.threeBurger */ toBeCookedThreeburgerMVi = CreateMV("toBecooked3B", 12, 0, 0); /* foodToBeCookedData.vegBurger */ toBeCookedVegburgerMVi = CreateMV("toBecookedVB", 12, 0, 0); /* foodToBeCookedData.fries */ toBeCookedFriesMVi = CreateMV("toBecookedF", 11, 0, 0); /*--------------------------------------------------------------------------------------------- */ /* -------- FILL IN THE CUST DATABASE WITH DEFAULT VALUES--------------------------------------- */ for(index = 1; index <= CUST_COUNT; index++) { /* custData[index].bagged */ baggedincustDBMVi[index] = CreateMV("baggedMV", 8, 0, index); /* custData[index].dineType */ dineTypeincustDBMVi[index] = CreateMV("dineTypeMV", 10, 0, index); /* custData[index].delivered */ deliveredincustDBMVi[index] = CreateMV("deliveredMV", 11, 0, index); /* baggedlist[index] */ baggedListMVi[index] = CreateMV("baggedMV", 8, 0, index); /* custData[index].myOT - initially myOT is -1 */ myOTMVi[index] = CreateMV("myOTMV", 6, -1, index); /* custData[index].ordered */ orderedincustDBMVi[index] = CreateMV("orderedMV", 9, 0, index); /* custData[index].sixBurger/threeBurger/etc. */ sixBurgerincustDBMVi[index] = CreateMV("sixBurgerMV", 11, 0, index); threeBurgerincustDBMVi[index] = CreateMV("threeBurgerMV", 13, 0, index); vegBurgerincustDBMVi[index] = CreateMV("vegBurgerMV", 11, 0, index); friesincustDBMVi[index] = CreateMV("friesMV", 7, 0, index); sodaincustDBMVi[index] = CreateMV("sodaMV", 6, 0, index); /* custData[Index].tokenNo/tableNo */ tokenNoincustDBMVi[index] = CreateMV("tokenNoMV", 9, 0, index); tableNoincustDBMVi[index] = CreateMV("tableNoMV", 9, -1, index); } /* -------------------------------------------------------------------------------- */ /* --------------------- CREATE ALL THE GLOBAL MONITOR VARIABLES ----------------- */ nextOrderTakerIndexMVi = CreateMV("nextOTIndex", 11, 1, 0); custServedMVi = CreateMV("custServed", 10, 0, 0); foodToBagMVi = CreateMV("foodToBag", 9, 0, 0); nextCustomerIndexMVi = CreateMV("nextCustIndex", 13, 1, 0); custLineLengthMVi = CreateMV("custLineLength", 14, 0, 0); managerLineLengthMVi = CreateMV("mgrLineLength", 13, 0, 0); tableAvailableMVi = CreateMV("tableAvailable", 14, 0, 0); nextTokenNumberMVi = CreateMV("nextTokenNo", 11, 0, 0); moneyAtRestaurantMVi = CreateMV("moneyAtRest", 11, 0, 0); RefillcashMVi = CreateMV("Refillcash", 10, 0, 0); broadcastedTokenNoMVi = CreateMV("bcastTokenNo", 12, 0, 0); inventoryMVi = CreateMV("inventory", 9, 100, 0); whatToCookNextMVi = CreateMV("whatToCookNext", 14, 0, 0); stopSixBurgerMVi = CreateMV("stop6B", 6, 1, 0); stopThreeBurgerMVi = CreateMV("stop3B", 6, 1, 0); stopVegBurgerMVi = CreateMV("stopVB", 6, 1, 0); stopFriesMVi = CreateMV("stopF", 5, 1, 0); /* tables[index] */ for(index = 0; index < TABLE_COUNT; index++) { tablesMVi[index] = CreateMV("tablesMV", 8, 0, index); } for(index = 1; index <= OT_COUNT; index++) { orderTakerStatusMVi[index] = CreateMV("OTstatusMV", 10, OT_BUSY, index); } /* for(index = 1; index <= 4; index++) { switch(index) { case 1: workingCooksMVi[index] = CreateMV("wkingCks6$", 9, 0, index); break; case 2: workingCooksMVi[index] = CreateMV("wkingCks3$", 9, 0, index); break; case 3: workingCooksMVi[index] = CreateMV("wkingCksV$", 9, 0, index); break; case 4: workingCooksMVi[index] = CreateMV("wkingCksF$", 9, 0, index); break; } } */ /* for(index = 1; index <= CUST_COUNT; index++) { SetMV(baggedincustDBMVi[index], 0); SetMV(deliveredincustDBMVi[index], 0); SetMV(baggedListMVi[index],0); SetMV(myOTMVi[index],0); SetMV(orderedincustDBMVi[index],0); SetMV(tokenNoincustDBMVi[index],-1); SetMV(tableNoincustDBMVi[index],-1); if (index%2 == 0) tempV = 1; else tempV = 0; SetMV(dineTypeincustDBMVi[index],tempV); SetMV(friesincustDBMVi[index],tempV); SetMV(threeBurgerincustDBMVi[index],tempV); if (index%2 == 0) tempV = 0; else tempV = 1; SetMV(vegBurgerincustDBMVi[index],tempV); SetMV(sixBurgerincustDBMVi[index],tempV); SetMV(sodaincustDBMVi[index],tempV); } */ /* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */ /* INITIALISATION BLOCK END */ /* --------------------------------------------------------------- */ /* --------------------------------------------------------------- */ /* --------EVERY ENTITY DOES EVERYTHING ABOVE--------------------- */ /* --------------------------------------------------------------- */ /* -----------------INITIALISATION END-----------------------*/ Print_Stmt("Cust INITIALISATION END\n"); Customer(); /* ------------------------------------------------------------------------------ */ }