Examveda

What is the output of the program?
#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,"demo_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("Example\n"); 
    return 0;
}

A. the program will print the string "Example"

B. the process will remain block

C. segmentation fault

D. none of the mentioned

Answer: Option B


This Question Belongs to Computer Science >> Linux

Join The Discussion

Related Questions on Linux