История изменений
Исправление vlad9486, (текущая версия) :
На чтение и запись ставь таймауты и по таймауту проверяй флаг (за мютексом, или атомик). accept и connect нужно сделать неблокирующими и использовать poll или epoll с таймаутом.
Гугли setsockopt (SO_SNDTIMEO, SO_RCVTIMEO) и fcntl.
Чуть не забыл, сигнал должен изменять только один bool флаг и ничего интересного не делать, если не знаешь на 100% как это сделать правильно.
Исходная версия vlad9486, :
На чтение и запись ставь таймауты и по таймауту проверяй флаг (за мютексом, или атомик). accept и connect нужно сделать неблокирующими и использовать poll или epoll с таймаутом.
Гугли setsockopt и fcntl.