Skip to content
Snippets Groups Projects
Commit 289c4f6c authored by ismail.abloua's avatar ismail.abloua
Browse files

why didnt i use semaphore ??

parent 23ffb458
No related branches found
No related tags found
No related merge requests found
......@@ -85,13 +85,17 @@ void truck_routine() {
for(int i = 0; i < S; i++){
pthread_mutex_lock(&sites[i].site_mutex);
while(truck > 0 && sites[i].available_bikes < 2) {
sem_wait(&sites[i].sem_slots);
truck--;
sites[i].available_bikes++;
sem_post(&sites[i].sem_bikes);
printf("(TRUCK) Truck refilling site %d (%d bikes remaining)\n", i, sites[i].available_bikes);
}
while(truck < MAX_BIKES_TRUCK && sites[i].available_bikes > N-2) {
sem_wait(&sites[i].sem_bikes);
sites[i].available_bikes--;
truck++;
sem_post(&sites[i].sem_slots);
printf("(TRUCK) Truck taking bike from site %d (%d bikes remaining)\n", i, sites[i].available_bikes);
}
pthread_mutex_unlock(&sites[i].site_mutex);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment