Q230
What is the output of this pogram? #include #include #include #include #include static int sem_p(void); static int sem_v(void); union semun int val; struct semid_ds *buf; unsigned short array; ; int sem_id; struct semid_ds myds; struct sembuf mybuf; union semun myun; static int sem_p(void) mybuf.sem_num = 0; mybuf.sem_op = -1; mybuf.sem_flg = SEM_UNDO; semop(sem_id,&mybuf,1); static int sem_v(void) mybuf.sem_num = 0; mybuf.sem_op = 1; mybuf.sem_flg = SEM_UNDO; semop(sem_id,&mybuf,1); int main() int wfd, rfd; sem_id = semget((key_t)911,1,0666 | IPC_CREAT); myun.val = 1; semctl(sem_id,0,SETVAL,myun); sem_p(); printf("Example "); sem_v(); semctl(sem_id,0,IPC_RMID,myun); return 0;
A.
this program will print the string "Example"
AnswerB.
this process will remain block
C.
this program will print the string "Example" & process will remain block
D.
none of the mentioned
Answer: Option A
Solution
Answer: Option A
No explanation is given for this question Let's Discuss on Board