Answers

Question and Answer:

  Home  Linux Debugging

⟩ What is the output of the program no 13? #include<stdio.h> #include<sys/types.h> #include<sys/un.h> #include<sys/socket.h> int main() { struct sockaddr_un add_server, add_client; int fd_server, fd_client; int len; char ch; fd_server = socket(AF_UNIX,SOCK_STREAM,0); if(fd_server == -1) perror("socket"); add_server.sun_family = AF_UNIX; strcpy(add_server.sun_path,"san_sock"); if( bind(fd_server,(struct sockaddr*)&add_server,sizeof(add_server)) != 0) perror("bind"); if( listen(fd_server,3) != 0) perror("listen"); len = sizeof(add_client); fd_client = accept(fd_server,(struct sockaddr*)&add_client,&len); printf("googlen"); return 0; } a) the program will print the string "google" b) the process will remain block c) segmentation fault d) none of the mentioned

b) the process will remain block

Explanation:

There is no peding request in the queue for listening socket "san_sock".

Output:

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

[root@localhost google]# ./san

^Z

[4]+ Stopped ./san

[root@localhost google]#

 156 views

More Questions for you: