LINUX.ORG.RU

История изменений

Исправление router, (текущая версия) :

SO_LINGER(с нулевым таймаутом)

Оффтопик. А вне программы эту проблему можно решить?

Есть некрософт, который давно заброшен разработчиком, но к сожалению в продакшне. Время от времени через него проходят данные, не соответствующие ТЗ, и оно намертво виснет. Давно написал ему watchdog, ( проверяет /proc/$pid/schedstat и /proc/$pid/wchan ), который в случае зависания перезапускает ( при необходимости - убивает по kill -9 ). Но часто при повторном запуске вижу в логах то же самое «address already in use», хотя процесс уже убит. В результате watchdog несколько раз в цикле убивает это говно мамонта, пока тому не удаётся взлететь успешно

Можно ли как-то принудительно очистить состояние порта?

Исходная версия router, :

SO_LINGER(с нулевым таймаутом)

Оффтопик. А вне программы эту проблему можно решить?

Есть некрософт, который давно заброшен разработчиком, но к сожалению в продакшне. Время от времени через него проходят данные, не соответствующие ТЗ, и оно намертво виснет. Давно написал ему watchdog, ( проверяет /proc/$pid/schedstat и /proc/$pid/wchan ) и в случае зависания перезапускает ( при необходимости - убивает по kill -9 ). Но часто при повторном запуске вижу в логах то же самое «address already in use», хотя процесс уже убит. В результате watchdog несколько раз в цикле убивает это говно мамонта, пока тому не удаётся взлететь успешно

Можно ли как-то принудительно очистить состояние порта?