Answers

Question and Answer:

  Home  Linux Debugging

⟩ What is the output of this program no 6? #include<stdio.h> #include<pthread.h> #include<fcntl.h> int fd; void *fun_t(void *arg); void *fun_t(void *arg) { char buff[10]; int count; count = read(fd,buff,10); printf("%dn",count); pthread_exit("Bye"); } int main() { pthread_t pt; void *res_t; fd = open("san.c",O_RDONLY); if(pthread_create(&pt,NULL,fun_t,NULL) != 0) perror("pthread_create"); if(pthread_join(pt,&res_t) != 0) perror("pthread_join"); return 0; } a) 10 b) 0 c) -1 d) segmentation fault

a) 10

Explanation:

Open file descritpors can be shares between threads of the same process

Output:

[root@localhost google]# gcc -o san san.c -lpthread

[root@localhost google]# ./san

10

[root@localhost google]#

 186 views

More Questions for you: