我正在使用异步管道进行进程间通信(为了简化,我删除了错误检查)
int pipe_fd[2];
pipe(pipe_fd);
int fdflags = fcntl(pipe_fd[1], F_GETFL, 0);
fdflags |= O_NONBLOCK;
fcntl(pipe_fd[1], F_SETFL, fdflags);
我正在寻找一种增加管道内部缓冲区大小的方法。我知道可以通过以下方式使用 Kernel >= 2.6.35:
fcntl(fd, F_SETPIPE_SZ, size);
或写信至:
/proc/sys/fs/pipe-max-size
但我正在使用内核 2.6.18 开发 CentOS 5。是否可以使用 Kernel 2.6.18 增加管道内部缓冲区大小?如果是,该怎么做?