Os 6
Os 6
#include <semaphore.h> }
#include <stdio.h> }
#define MAX_ITERATIONS 2// Define the maximum // eat if neighbours are not eating
number of iterations
test(phnum);
sem_post(&mutex);
int state[N];
// if unable to eat wait to be signalled
int phil[N] = { 0, 1, 2, 3, 4 };
sem_wait(&S[phnum]);
sem_t mutex;
Sleep(1000); // Sleep for 1 second
sem_t S[N];
}
take_fork(*i);
put_fork(*i);
return NULL;
int main() {
int i;
pthread_t thread_id[N];
sem_init(&mutex, 0, 1);
sem_init(&S[i], 0, 0);
pthread_join(thread_id[i], NULL);
return 0;