Можно ли изменить размер именованного канала в Linux? - PullRequest
11 голосов
/ 19 января 2011

Я знаю, что для текущей версии ядра Linux размер именованных каналов составляет 64 КБ. Можно ли вообще увеличить этот размер?

Я знаю, что могу переключиться на сокеты, но сначала я хотел бы посмотреть, смогу ли я решить проблему с переполнением буфера, просто увеличив размер именованного канала.

1 Ответ

15 голосов
/ 19 января 2011

С последними ядрами (> = 2.6.35) вы можете изменить размер канала с помощью

fcntl(fd, F_SETPIPE_SZ, size)

, где size - это long. Максимальный размер в /proc/sys/fs/pipe-max-size.

...