История изменений
Исправление 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 несколько раз в цикле убивает это говно мамонта, пока тому не удаётся взлететь успешно
Можно ли как-то принудительно очистить состояние порта?