Pourquoi mon named pipe est toujours en mode line buffered ?
1 réponse
Eric Bart
Bonjour,
Sous linux je crée un named pipe
mkfifo("PIPE",0666);
Après un fork() j'ai
int iFifo = open("PIPE", O_RDONLY);
iLus = read(iFifo,cBuff,19);
ou
iFifo = open("PIPE", O_WRONLY);
int iRes = write(iFifo,cBuff,size);
Mais le read n'est immédiat que si je termine le buffer
transmis par un "\n"
J'ai essayé de transformer le fd en stream avec fdopen() et
d'empêcher le line-buffer avec setbuf() mais ça ne marche pas.