Définir la taille du tampon de tuyau

J'ai un C++ application multithread qui utilise posix tuyaux afin d'effectuer inter thread de communication efficace (donc je n'ai pas à devenir fou avec les blocages).

J'ai mis de l'opération d'écriture non bloquante, l'écrivain obtiendrez un message d'erreur si il n'y a pas assez d'espace dans la mémoire tampon d'écriture.

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);

Maintenant, je voudrais souhaiter fixer le tuyau taille de la mémoire tampon à une valeur personnalisée en un mot (dans le cas spécifique).

J'ai cherché sur google mais je n'ai pas été en mesure de trouver quelque chose d'utile. Est-il un moyen (éventuellement conformes à posix) de le faire?

Grâce

Lorenzo

PS: je suis sous linux (si ça peut être utile)

source d'informationauteur Zeruel