What is the output of this program?
#include<stdio.h>
#include<fcntl.h>
#include<sys/stat.h>
#include<semaphore.h>
int main()
{
sem_t* sem_id;
int value;
sem_id = sem_open("new_13",O_CREAT,0666,3);
if(sem_id == SEM_FAILED)
perror("sem_open");
sem_wait(sem_id);
sem_wait(sem_id);
sem_wait(sem_id);
sem_wait(sem_id);
sem_post(sem_id);
sem_post(sem_id);
sem_getvalue(sem_id,&value);
printf("%d\n",value);
if(sem_close(sem_id) == -1)
perror("sem_close");
return 0;
}
#include<stdio.h>
#include<fcntl.h>
#include<sys/stat.h>
#include<semaphore.h>
int main()
{
sem_t* sem_id;
int value;
sem_id = sem_open("new_13",O_CREAT,0666,3);
if(sem_id == SEM_FAILED)
perror("sem_open");
sem_wait(sem_id);
sem_wait(sem_id);
sem_wait(sem_id);
sem_wait(sem_id);
sem_post(sem_id);
sem_post(sem_id);
sem_getvalue(sem_id,&value);
printf("%d\n",value);
if(sem_close(sem_id) == -1)
perror("sem_close");
return 0;
}A. 2
B. 3
C. 0
D. none of the mentioned
Answer: Option D
Related Questions on Linux
What command is used to count the total number of lines, words, and characters contained in a file?
A. countw
B. wcount
C. wc
D. count p
E. None of the above
What command is used with vi editor to delete a single character?
A. x
B. y
C. a
D. z
E. None of the above

Join The Discussion