Examveda

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;
}

A. 2

B. 3

C. 0

D. none of the mentioned

Answer: Option D


This Question Belongs to Computer Science >> Linux

Join The Discussion

Related Questions on Linux