> Разбираться в незнакомом коде лучше всего с дебаггером. > Из того что я вижу вызывается sys_pipe, которая вызывает > sys_pipe2 без флагов, та в сВою очередь создает пайпы с > помощью create_write_pipe/create_read_pipe, затем создает > дескрипторы для этих файлов через install_fd, которые и > аопирует в юзермод. А вообще я в линуксах не Копенгаген, > так что могу ошибаться
То есть
1081 SYSCALL_DEFINE1(pipe, int __user *, fildes)
1082 {
1083 return sys_pipe2(fildes, 0);
1084 }
---
— то sys_pipe(), а
1065 SYSCALL_DEFINE2(pipe2, int __user *, fildes, int, flags)
1066 {
1067 int fd[2];
1068 int error;
1069
1070 error = do_pipe_flags(fd, flags);
1071 if (!error) {
1072 if (copy_to_user(fildes, fd, sizeof(fd))) {
1073 sys_close(fd[0]);
1074 sys_close(fd[1]);
1075 error = -EFAULT;
1076 }
1077 }
1078 return error;
1079 }
---
это определение функции sys_pipe2()?
|