Задать вопрос

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

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

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

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

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект