Answer the question
In order to leave comments, you need to log in
Why is SIGPIPE not blocking?
Hello.
The program works with a socket. To prevent the SIGPIPE signal from flying out, I block it:
sigset(SIGPIPE, SIG_IGN);
But the execution is still completed by the SIGPIPE signal during the send execution:
ssize_t size = send(socket, data, currentSize, 0);
If the MSG_NOSIGNAL flag is set, then the signal will stop flying. But this method works under Linux, but does not work under Solaris.
Why is the signal not blocked?
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question