Чао!

я есть многопоточное приложение C ++, которое использует posix-каналы для эффективного выполнения межпотокового взаимодействия (поэтому мне не нужно сходить с ума от тупиков).

Я установил неблокирующую операцию записи, поэтому писатель получит ошибку, если в буфере недостаточно места для записи.

if((pipe(pipe_des)) == -1)
    throw PipeException();

int flags = fcntl(pipe_des[1], F_GETFL, 0); // set write operation non-blocking
assert(flags != -1);
fcntl(pipe_des[1], F_SETFL, flags | O_NONBLOCK);

Теперь я хотел бы установить размер буфера канала на пользовательское значение (одно слово в конкретном случае).

Я гуглил, но не смог найти ничего полезного. Есть ли способ (возможно, посси-совместимый) сделать это?

Спасибо

Lorenzo

PS: я под Linux (если это может быть полезно)

Ответы на вопрос(3)

Ваш ответ на вопрос