Debugging Question:

Download Job Interview Questions and Answers PDF

What is the output of this program no 10?
#include<stdio.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<sys/types.h>
#include<sys/socket.h>

int main()
{
int fd_server, fd_client, len, len_client;
struct sockaddr_in add_server;
fd_server = socket(AF_INET,SOCK_STREAM,0);
fd_client = accept(fd_server,(struct sockaddr*)&add_server,&len);
if(fd_client == -1)
perror("accept");
if(listen(fd_server,5) != 0)
perror("listen");
return 0;
}
a) syntax error
b) error at the time of compilation
c) segmentation fault
d) none of the mentioned

Linux Debugging Interview Question
Linux Debugging Interview Question

Answer:

d) none of the mentioned
Explanation:
The listen() must always be used before accept().
Output:
[root@localhost google]# gcc -o san san.c
[root@localhost google]# ./san
accept: Invalid argument
[root@localhost google]#

Download Linux Debugging Interview Questions And Answers PDF

Previous QuestionNext Question
What is the problem with this server program?

#include<stdio.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<sys/types.h>
#include<sys/socket.h>

int main()
{
int fd_server, fd_client, len;
struct sockaddr_in add_server;
fd_server = socket(AF_INET,SOCK_STREAM,0);
if (fd_server == -1){
perror("fd_sock");
exit(1);
}
add_server.sin_family = AF_INET;
add_server.sin_port = htons(4001);
add_server.sin_addr.s_addr = inet_addr("122.23.1.1");
len = sizeof(add_server);
if( bind(fd_server,(struct sockaddr*)&add_server,len) != 0)
perror("bind");
if(listen(fd_server,5) != 0)
perror("listen");
fd_client = accept(fd_server,(struct sockaddr*)&add_server,&len);
if(fd_client == -1)
perror("accept");
return 0;
}
a) it can not accept the request of any client
b) it will give the segmentation fault
c) there is no problem with this program
d) none of the mentioned
What is the output of this program no 11?
#include<stdio.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<sys/types.h>
#include<sys/socket.h>

int main()
{
int fd_server, fd_client, len, len_client;
struct sockaddr_in add_server;
fd_server = socket(AF_INET,SOCK_STREAM,0);
close(fd_server);
perror("accept");
if(listen(fd_server,5) != 0)
perror("listen");
fd_client = accept(fd_server,(struct sockaddr*)&add_server,&len);
if(fd_client == -1)
return 0;
}
a) syntax error
b) error at the time of compilation
c) segmentation fault
d) none of the mentioned