Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Разбираться в незнакомом коде лучше всего с дебаггером. 14.06.09 11:34 Число просмотров: 2011
Автор: amirul <Serge> Статус: The Elderman
|
> Я вот пытаюсь все найти реализацию функции pipe() в Linux и > понять, как она работает. Т.е. нужно узнать внутреннее > устройство этой функции. Пока нашел вот такой код: > http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6. > 30.y.git;a=blob;f=fs/pipe.c;h=13414ec45b8d5b42012d8c5fbd56d > 54df5a96749;hb=HEAD > > Но мне не совсем понятно, какая из этих функций и как > вызывается при вызове pipe(). Не подскажете, что там > происходит? А то я совсем запутался. > > Заранее благодарен :-). Разбираться в незнакомом коде лучше всего с дебаггером.
Из того что я вижу вызывается sys_pipe, которая вызывает sys_pipe2 без флагов, та в сВою очередь создает пайпы с помощью create_write_pipe/create_read_pipe, затем создает дескрипторы для этих файлов через install_fd, которые и аопирует в юзермод. А вообще я в линуксах не Копенгаген, так что могу ошибаться
|
|
|