Examveda

What is the output of this program?
#include<stdio.h>
#include<pthread.h>
 
sem_t st;
void *fun_t(void *arg);
void *fun_t(void *arg)
{
    pthread_exit("Bye");
}
int main()
{
    pthread_t pt;
    void *res_t;
    if(pthread_create(&pt,NULL,fun_t,NULL) == -1)
        perror("pthread_create");
    if(sem_init(&st,1,2) != 0)
        perror("sem_init");
    if(pthread_join(pt,&res_t) == -1)
        perror("pthread_join");
    if(sem_destroy(&st) != 0)
        perror("sem_destroy");
    return 0;
}

A. this program will print nothing

B. this program will give an error

C. this program will give segmentation fault

D. none of the mentioned

Answer: Option B


This Question Belongs to Computer Science >> Linux

Join The Discussion

Related Questions on Linux