URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7367
[ Назад ]

Исходное сообщение
"send + SIGPIPE + QNX"

Отправлено dimonna , 15-Май-08 23:03 
Здравствуйте уважаемые эксперты,

вот такой вопрос: в POSIXе есть MSG_NOSIGNAL опция для функции send чтобы не поймать SIGPIPE если коннект разорван, однако в QNX этой опции нет (socket.h).

signal(SIGPIPE, SIG_IGN) перехватит SIGPIPE для всего процесса что крайне нежелательно.

Какой выход из ситуации для QNX?

Огромное спасибо,
Дмитрий


Содержание

Сообщения в этом обсуждении
"send + SIGPIPE + QNX"
Отправлено jd2 , 20-Май-08 04:43 
Если используется блокирующий send, то, как вариант: написать враппер, которые будет устаравливать обработчик сигнала, делать send, восстанавливать обработчик сигнала.

На всякий случай: Вы уверены, что MSG_NOSIGNAL нету в Вашей системе? Вы упомянули socket.h - его нет именно в этом заголовочнике или с ним не компиляется? Потому что он может быть определён где-то ещё, как, например, в моей системе.


"send + SIGPIPE + QNX"
Отправлено dimonna , 20-Май-08 08:25 
Спасибо всем, проблема решилась обновлением версии QNX в которой присутствует MSG_NOSIGNAL.

С уважением,
Дмитрий