Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void *departCart()
- {
- while(1)
- {
- //determine groupsizes
- sleep(5);
- int posArray[4];
- int groupsize1 = (rand() % (MAX_GROUPSIZE + 1 - MIN_GROUPSIZE)) + MIN_GROUPSIZE;
- int groupsize2 = (rand() % (MAX_GROUPSIZE + 1 - MIN_GROUPSIZE)) + MIN_GROUPSIZE;
- int groupsize3 = (rand() % (MAX_GROUPSIZE + 1 - MIN_GROUPSIZE)) + MIN_GROUPSIZE;
- if(groupsize1 + groupsize2 + groupsize3 == CART_SIZE)
- {
- sem_wait(&groupQueue);
- sem_wait(&groupQueue);
- sem_wait(&groupQueue);
- printf("\nCART DEPARTED WITH 3 GROUPS:\t%d,%d,%d\n",groupsize1,groupsize2,groupsize3);
- }else
- {
- if (groupsize1 + groupsize2 == CART_SIZE)
- {
- sem_wait(&groupQueue);
- sem_wait(&groupQueue);
- printf("\nCART DEPARTED WITH 2 GROUPS:\t%d,%d\n",groupsize1,groupsize2);
- } else
- {
- if (groupsize1 + groupsize2 == CART_SIZE - 1)
- {
- sem_wait(&groupQueue);
- sem_wait(&groupQueue);
- sem_wait(&singleQueue);
- printf("\nCART DEPARTED WITH 2 GROUPS:\t%d,%d AND 1 SINGLE RIDER\n",groupsize1,groupsize2);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement