Игор, может интересно будет, в новом ядре Linux 2.6.16 появились
системные вызовы pselect/ppoll, я не читал для чего это, лишь
увидел краем глаза про обработку событий. Даю линк:
http://lwn.net/Articles/164887/
pselect() и ppoll() позволяют лишь синхронизировать обработку файловых
дескрипторов и сигналов. Масштабируемости они не добавляют. Единственное
место, где их можно использовать в nginx'е - это мастер-процесс, но
там сейчас используется sigsuspend() как общий знаменатель для всех
платформ.
А что скажешь поводу вызова splice как замены sendfile?
Насколько я знаю, splice() ещё не вошёл в ядро. Его, возможно, можно
будет использовать в imap прокси. Замена sendfile()а на splice() для
дисковых операций - шило на мыло.
Игорь Сысоев
http://sysoev.ru