![]() |
|
Модераторы: xvr |
![]()
|
|
| proc_maker |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
Здравствуйте уважаемые эксперты,
вот такой вопрос: в POSIXе есть MSG_NOSIGNAL опция для функции send чтобы не поймать SIGPIPE если коннект разорван, однако в QNX этой опции нет (socket.h). signal(SIGPIPE, SIG_IGN) перехватит SIGPIPE для всего процесса что крайне нежелательно. Какой выход из ситуации для QNX? Огромное спасибо, Дмитрий |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
proc_maker,
перед send() определить, получен ли сегмент RST -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| proc_maker |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
MAKCim, не подскажите как это сделать?
Спасибо, Дмитрий |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
проверить состояние клиента перед send() если оно CLOSE_WAIT, то send() вызовет либо SIGPIPE, либо получение клиентским TCP сегмента RST в Linux проверяется так
в QNX нечто подобное должно быть -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| proc_maker |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 11.11.2006 Репутация: 1 Всего: 1 |
Спасибо всем, проблема решилась обновлением версии QNX в которой присутствует MSG_NOSIGNAL.
С уважением, Дмитрий |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |