|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Nick Leuta 2:5020/400 19 Apr 2003 16:12:34 To : Alex Semenyaka Subject : Re: добавление каталога к ftp серверу -------------------------------------------------------------------------------- "Alex Semenyaka" <Alex.Semenyaka@f640.n461.z2.fidonet.org> сообщил/сообщила в новостях следующее: > 18 Apr 03 19:54, you wrote to me: > >> ftpd, в отличие от lukemftpd, использует как раз sendfile. Hо > >> sendfile к буковке w, насколько я понимаю, никаким боком ;) > NL> Да вот же, хотя раньше, по крайней мере в тройке, точно не > NL> использовал. > Точно? $ cvs -R co -P -rRELENG_3 src/libexec/ftpd $ cd src/libexec/ftpd $ grep sendfile * $ Там это делается через write() и иногда через mmap(). > NL> Hе знаю, наверно его использование дает какие-то преимущества > NL> конкретно в FreeBSD'шной среде... :-)) Еще бы не давал. > Преимущества - понятно какие, всё живёт внутри ядра, без переключения > контекстов. Соответственно, меньше нагрузка. Hедостатки - тоже понятно, из-за > них lukem и приделывали: невозможность средствами приложения контролировать > скорость передачи etc. А я думал из-за его наворотов... Хотели бы контролировать скорость передачи - откатили бы sendfile() назад. > NL> Портабельность-то в отличие от lukemftpd вроде не критична... > Да sendfile(2) нынче популярная идея, насколько мне помнится, он довольно > победно шагает по OS :) Linux, Solaris, *BSD.. Вот ещё HPUX, вроде как, тоже... Ага, идея-то шагает, только синтаксис разный, и в комментариях оговорка, что в портабельных программах его лучше не использовать ("Other Unixes often implement sendfile with different semantics and prototypes. It should not be used in portable programs."). По крайней мере у RedHat 7.3 в мане написано именно так, и аргументы у sendfile() другие. Да еще и sys/sendfile.h говорит, что его нельзя использовать совместно с _FILE_OFFSET_BITS=64. И вообще, чем выше версия Фри, тем более привязанным к ней становится код включенных в нее приложений. Прямо Microsoft Way какой-то :-) Осталось лишь начать применять недокументированные функции. Хотя, что там у нас в пятеркинском ftpd под названием _time_to_time32()? Точнее, man что? (то, что написано в src/lib/libc/stdtime я конечно знаю :-) ) -- * Паранойя - профессиональное заболевание системных администраторов... SkyNick --- ifmail v.2.15dev4 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/657749cb90c4.html, оценка из 5, голосов 10
|