LINUX.ORG.RU

Какая-то лажа с сокетами.


0

0

LInux. Две программы. Обмен через TCP сокет, через 127.0.0.1. Запускаю обмен, он работает некоторое время. Внезапно одна получает четвертую ошибку ( Interrupted system call) другая просто 0 от read получает. Куда копать?

EINTR - нормальная ситуация. Означает, что нужно повторить действие.

mv ★★★★★
()
Ответ на: комментарий от Artem-Dnepr

> Так пишут что в линухе оно автоматически повторяет.

Кто пишет?

mv ★★★★★
()
Ответ на: комментарий от Artem-Dnepr

Блин, сделал повтор, вроде работает. Но чего раньше не работало? И почему я нигде не видел что нужно обрабатывать EINTR?

Artem-Dnepr
() автор топика
Ответ на: комментарий от Artem-Dnepr

Если собственные обработчики сигналов есть, то man sigaction и обратить особое внимание на SA_RESTART.

mv ★★★★★
()
Ответ на: комментарий от mv

Не могу понять зачем это сделано было, почему у меня раньше работало без этого, и что я сделал такого что оно перестало работать.

Artem-Dnepr
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.