Боль каждого кто писал на сокетах: select() сказал readable, read() заблокировался. Почему?
Опрос
- select() на UDP сокетах врёт по дизайну
- Ядро сбросило буфер между вызовами при нехватке памяти
- Другой поток успел прочитать раньше — классический TOCTOU
- select() в принципе не гарантирует наличие данных