Страница руководства epoll гласит:
Для файлов, ориентированных на поток (например, pipe, FIFO, потоковый сокет), условие, что пространство ввода / вывода для чтения / записи исчерпано, также может быть обнаружено путем проверкиколичество данных, прочитанных / записанных в дескриптор целевого файла. Например, если вы вызываете read (2), запрашивая чтение определенного объема данных, и read (2) возвращает меньшее количество байтов, вы можете быть уверены, что исчерпали пространство чтения ввода-вывода для файладескриптор.То же самое верно при записи с использованием write (2). (Избегайте этого последнего метода, если вы не можете гарантировать, что дескриптор отслеживаемого файла всегда ссылается на файл, ориентированный на поток.)