void reader(void)
{ 
  int ID;
  P(&mutex); ID = global_ID++; V(&mutex);
  while(1){
	reader_entry(ID);
	printf
	    ("[reader #%d]\t****READING****\n", ID);
	sleep(1);
	reader_exit(ID);
  };
}
void *reader()
{
	int ID;
	sem_wait(&mutex);
		ID = global_ID++;
	sem_post(&mutex);
	while(1)
	{
		reader_entry(ID);
		printf("Reader %d Reading\n", ID);
		sleep(1);
		reader_exit(ID);
	}
}
Example #3
0
void reader() {
readercount ++;
	while (1 > 0) {
		//printf("Reader[%p]: Start\n", runQ);
		reader_entry();
		//printf("Reader[%p]: Entered\n", runQ);
		
		P(mutex);
		printf("Reader %d reading from writer  : %d\n",readercount,runQ, shared_int);
		sleep(1);
		V(mutex);
		
		//printf("Reader[%p]: Exiting\n", runQ);
		reader_exit();
		//printf("Reader[%p]: Exit\n", runQ);
	}
}
void reader()
{
    int local_id;
    //Locking and unlocking the critical section to modify the shared variable
    P(mutex);
    local_id=id++;
    V(mutex);


    while(1)
    {
        reader_entry(local_id);
        printf("\n Reader %d reading \n",local_id);
        sleep(1);
        reader_exit(local_id);
    }
}