int main(){ PrintString("Setting monitors\n", 17); Acquire(lock1); SetMonitor(mon1, 0, 9); for (i = 0; i < 30000; ++i){ Yield(); } Release(lock1); PrintString("Waiting on lock2\n", 17); Acquire(lock1); Wait(lock1, cond1); Release(lock1); PrintString("Destroying Monitors 1 and 2\n", 28); DestroyMonitor(mon1); DestroyMonitor(mon2); Exit(1); }
void t6_t1() { int fail_monitor = -1; int value; Write("Starting Test6.\n", 22, ConsoleOutput); SetMonitorVal(t6_m1, 5); value = GetMonitorVal(t6_m1); Write("Monitor Value: ", 16, ConsoleOutput); IntPrint(value); DestroyMonitor(t6_m1); Write("Setting monitor - Should fail.\n", 32, ConsoleOutput); SetMonitorVal(fail_monitor, -1); Write("Getting monitor - Should fail.\n", 32, ConsoleOutput); GetMonitorVal(fail_monitor); Write("Destroying monitor - Should fail.\n", 35, ConsoleOutput); DestroyMonitor(fail_monitor); Exit(0); }