我用mkfifo(2)创建一个命名管道。但我想将其大小设置为最大。我使用了fnctl()和PIPE_BUF,但我认为我做不到。
这是我的代码:
#define PIPE_BUF 1048576
#define _GNU_SOURCE
int writeSomeStuffToFifo (){
int fd;
mkfifo(myfifo, 0666);
fcntl(F_SETPIPE_SZ,PIPE_BUF);
fd = open(myfifo, O_WRONLY);
write(fd,"1",strlen("1"));
close(fd);
}