Почему не блокируется SIGPIPE?

Здравствуйте.
Программа работает с сокетом. Чтобы не вылетал сигнал SIGPIPE, блокирую его:
sigset(SIGPIPE, SIG_IGN);
Но выполнение все равно завершается сигналом SIGPIPE во время выполнения send:
ssize_t size = send(socket, data, currentSize, 0);

Если установить флаг MSG_NOSIGNAL, то сигнал перестанет вылетать. Но данный способ работает под линуксом, но не работает под солярисом

Почему сигнал не блокируется?
  • Вопрос задан
  • 278 просмотров
Решения вопроса 1
@kir55rus Автор вопроса
Вопрос решен. GDB переустанавливал обработчик сигнала
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы