static void *initproc_run(int arg1, void *arg2) { switch(curtest) { case 0: return NULL; case 1: processSetUp(); break; case 2: processSetUp(); break; case 3: processSetUp(); break; case 4: processSetUp(); break; case 5: processSetUp(); break; case 6: producer_consumer();break; case 7: deadlock();break; case 8: reader_writer();break; case 9: shellTest();break; case 10: dead_own(); break; case 11: vfs_test_setup(); break; case 12: add_tests(); break; case 13: ut_vmmap(); break; } int status; while(!list_empty(&curproc->p_children)) { pid_t child = do_waitpid(-1, 0, &status); /*dbg(DBG_INIT,"Process %d cleaned successfully\n", child);*/ } return NULL; }
/* * The test method */ void test_producer_consumer(void) { /* initialize the scenario */ init_producer_consumer(); /* generate producers & consumers */ producer_consumer(0, 0); producer_consumer(1, 0); producer_consumer(0, 1); producer_consumer(1, 1); producer_consumer(3, 1); producer_consumer(1, 3); producer_consumer(4, 4); producer_consumer(7, 2); producer_consumer(2, 7); producer_consumer(6, 6); /* 'think we've passed */ pass(); }
void test_producer_consumer(void) { /*producer_consumer(0, 0); producer_consumer(1, 0); producer_consumer(0, 1); producer_consumer(1, 1); producer_consumer(3, 1); producer_consumer(1, 3); producer_consumer(4, 4); producer_consumer(7, 2); producer_consumer(2, 7);*/ producer_consumer(6, 6); pass(); }
int main() { int semchoice; char semrepeat; do { system("cls"); printf("\n======================================================= WELCOME TO SEMAPHORE E - LEARNING TUTORIAL ==================================\n"); printf("\n WISH YOU A HAPPY E - LEARNING \n\n"); printf("\n1.WHAT IS SEMAPHORE?\n\n2.WHAT IS PRODUCER - CONSUMER PROBLEM?\n\n3.INSTRUCTIONS AND LOGIC OF PROGRAM\n\n4.HOW TO SOLVE PRODUCER - CONSUMER PROBLEM?\n\n5.EXIT\n\nENTER YOUR CHOICE\n"); scanf("%d",&semchoice); switch(semchoice) { case 1: system("cls"); aboutcountingsemaphore(); break; case 2: system("cls"); producer_consumer(); break; case 3: system("cls"); guideforcountingsemaphore(); break; case 4: system("cls"); prod_cons_working(); break; case 5: printf("\n\n\t\t\tTHANKYOU FOR USING SEMAPHORE E-LEARNING TUTORIAL\n\n"); exit(0); break; default : printf("\n You entered wrong choice\n"); break; } printf("\n\n DO YOU WANNA CONTINUE ABOUT COUNTING SEMAPHORE(y/n)\n"); semrepeat=getch(); }while(semrepeat=='y'||semrepeat=='Y'); printf("\n\n\t\t\tTHANKYOU FOR USING SEMAPHORE E-LEARNING TUTORIAL\n\n"); return 0; }