пишу программу которая коннетится куда то. положим к 127.0.0.1:22 ожидает события через poll() (epoll тут избыточен) и читает если есть что читать.
так вот коннектится она к ssh, вычитывает приглашение от ssh и засыпает на poll(), в это время я гашу ssh, а прога детектирует закрытие канала только может через минуту. как ускорить детектирование закрытие соединения?
пробывал уже юзать
struct timeval timeout;
timeout.tv_sec = 1;
timeout.tv_usec = 0;
rc = setsockopt(socket_handle, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(timeout));
int xtimeout = 10000; // user timeout in milliseconds [ms]
rc = setsockopt(socket_handle, SOL_TCP, TCP_USER_TIMEOUT, (char*)&xtimeout, sizeof(xtimeout));
эффекта нет. кроме как через sysctl и настройку tcp стека можно из программы это затюнить?