Debugging Question:

What is the length of of the queue for pending connections in this program?

#include<stdio.h>
#include<sys/types.h>
#include<sys/un.h>
#include<sys/socket.h>

int main()
{
struct sockaddr_un add_server;
int fd_server;
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,"server_sock2");
if( bind(fd_server,(struct sockaddr*)&add_server,sizeof(add_server)) != 0)
perror("bind");
if( listen(fd_server,3) != 0)
perror("listen");
return 0;
}
a) 0
b) 1
c) 2
d) 3

Tweet Share WhatsApp

Answer:

d) 3
Explanation:
The second argument of listen() specifies the length for the queue for pending connections.

Download Linux Debugging PDF Read All 80 Linux Debugging Questions
Previous QuestionNext Question
By this program the soket "san_sock" will create
#include<stdio.h>
#include<sys/types.h>
#include<sys/un.h>
#include<sys/socket.h>

int main()
{
struct sockaddr_un add_server;
int fd_server;
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");
return 0;
}
a) in the /tmp directory
b) in the /usr directory
c) in the present working directory
d) none of the mentioned
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