LINUX.ORG.RU

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

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

На чтение и запись ставь таймауты и по таймауту проверяй флаг (за мютексом, или атомик). accept и connect нужно сделать неблокирующими и использовать poll или epoll с таймаутом.

Гугли setsockopt (SO_SNDTIMEO, SO_RCVTIMEO) и fcntl.

Чуть не забыл, сигнал должен изменять только один bool флаг и ничего интересного не делать, если не знаешь на 100% как это сделать правильно.

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

На чтение и запись ставь таймауты и по таймауту проверяй флаг (за мютексом, или атомик). accept и connect нужно сделать неблокирующими и использовать poll или epoll с таймаутом.

Гугли setsockopt и fcntl.