Снова жопа: написал код блокирующими сокетами и сделал вызов select
сначала все было круто, а потом я снова попал. селект все время возвращает 0 — выходит по таймауту. И когда там данных нет, и когда их туда не успевают засунуть. Снова таже бодяга: увеличивать таймаут в ущерб производительности, а вдруг там окажется файл чуть больше чем я предполагаю?