Я создаю именованный канал с помощью 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);
}
fcntl
должен принимать файловый дескриптор. - person Eugene Sh.   schedule 28.03.2019F_SETPIPE_SZ
- person Eugene Sh.   schedule 28.03.2019fcntl(fd,PIPE_BUF);
илиfcntl(fd,F_SETPIPE_SZ);
? - person javac   schedule 28.03.2019fcntl(fd,F_SETPIPE_SZ, PIPE_BUF )
. Послеfd
открыто конечно. - person Eugene Sh.   schedule 28.03.2019