История изменений
Исправление vodz, (текущая версия) :
Всю жизнь, сколько помню, отдавались системе через selеct. Даже с пустыми дескрипторами, если только пауза нужна.
Ну по всякому было. Вначале был сискол empty() а подвисаний менее секунды на пользовательском уровне не было вообще, потом появилась замена — ioctl(FIONREAD) и примерно в это же время sleep с отрицатльным аргументом как сантисекунды, а уж потом появился select(). Вот только он был разным, на разных платформах и потому тогда примерно появился заодно и в большинстве случаев именно для этого - configure, который выяснял какой собственно select() на данной платформе.
Исправление vodz, :
Всю жизнь, сколько помню, отдавались системе через selеct. Даже с пустыми дескрипторами, если только пауза нужна.
Ну по всякому было. Вначале был сискол empty(), потом появилась замена — ioctl(FIONREAD), а уж потом появился select(). Вот только он был разным, на разных платформах и потому тогда примерно появился заодно и в большинстве случаев именно для этого - configure, который выяснял какой собственно select() на данной платформе.
Исходная версия vodz, :
Всю жизнь, сколько помню, отдавались системе через selеct. Даже с пустыми дескрипторами, если только пауза нужна.
Ну по всякому было. Вначале был сискол empty(), потом появилась замена — ioctl(FIONREAD). потому появился select(), вот только он был разным на разных платформах и потому тогда примерно появился заодно и в большинстве случаев именно для этого - configure, который выяснял какой собственно select() на данной платформе.