Внутри моей многопрофильной программы после ответа клиента, код на стороне сервера при ошибке возврата Recv (Errno 9 EBAF), и я не понимаю, как я могу повредить сокет fd.
Пожалуйста, кто -то может мне помочь? // caller process
if(getpid() == spid)
{
memset(&gate2, 0, sizeof(gate2) );
// delete zombies formation
while(proc < 58)
{
// Setting up server
l = sizeof(gate2);
sigaction(SIGPIPE, &v_act, NULL);
n_socket = accept(fd_start, (struct sockaddr *) &gate2, (socklen_t *)&l );
setsockopt(n_socket, SOL_SOCKET, SO_REUSEADDR | SO_KEEPALIVE | SO_REUSEPORT, &opt, sizeof(opt) );
fcntl(n_socket, F_SETFL, O_NONBLOCK);
sigaction(SIGPIPE, &v_act, NULL);
n = recv(n_socket, message, ( sizeof(char) * 60000 ) - 1 , MSG_NOSIGNAL);
Подробнее здесь: https://stackoverflow.com/questions/794 ... cv-errno-9