The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"проблема с tcp/ip под qnx 4.24 - гибнет клиент :("
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"проблема с tcp/ip под qnx 4.24 - гибнет клиент :("
Сообщение от Алексей emailИскать по авторуВ закладки on 20-Июл-01, 17:26  (MSK)
Машина под QNX 4.24 работает tcp/ip-клиентом для сервера под NT.
Ну и вот, обнаружилась такая вещь, что если сервер закрывается, причем
вроде культурно - closesocket(socket); тогда клиент, работающий под qnx убивается системой, которая говорит:
"% 12312 Broken pipe   /test"

Это происходит на send(), причем сообщение об ошибке, которое, по идее, он должен выдать, не обрабатывается, не выводится, росто убивается программа и все.
Пробовались сервера и под NT, и под qnx. - Результат один - бесславная смерть клиента.
Это баг или кривые ручки?
if(send(socket, data, datasize, 0) < 0)
     perror(" Send error ");
???????????????????????????????????????????
Если кто писал что-то похожее - помогите, пожалуйста.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: проблема с tcp/ip под qnx 4.24 - гибнет клиент :("
Сообщение от XMan Искать по авторуВ закладки on 23-Июл-01, 23:55  (MSK)
Не знаю, как в QNX, но в UNIX-like (Linux, FreeBSD) обычно так и должно всё работать.
Для того, чтобы процесс не прибивался, нужно или перехватить сигнал SIGPIPE или игнорировать его.
При попытке записи в закрытый дескриптор, дергается SIGPIPE, а его действие по умолчанию "terminate process"

PS. Внимательнее читаем доки :))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: проблема с tcp/ip под qnx 4.24 - гибнет клиент :("
Сообщение от Алексей emailИскать по авторуВ закладки on 25-Июл-01, 20:33  (MSK)
Спасибо, XMan,
проблема была действительно в SIGPIPE.
Добавил
  signal(SIGPIPE, SIG_IGN);
и send() стал честно возвращать сообщение об ошибке, что и требовалось :)))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: проблема с tcp/ip под qnx 4.24 - гибнет клиент :("
Сообщение от Алексей emailИскать по авторуВ закладки on 25-Июл-01, 20:34  (MSK)
Спасибо, XMan,
проблема была действительно в SIGPIPE.
Добавил
  signal(SIGPIPE, SIG_IGN);
и send() стал честно возвращать сообщение об ошибке, что и требовалось :)))

Еще раз БОЛЬШОЕ спасибо!

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру