On Sun, Mar 20, 2005 at 11:23:27PM +0100, Marc DequÃnes wrote: > while ((ret = poll(pfd, 1, 10)) >= 0) > { > if (ret == 0) > continue; > if (pfd[0].revents & POLLERR) > break; > if (pfd[0].revents & POLLIN) > { > printf("DATA !\n"); > read(fd, &c, 1); > } > }
> Result on linux : > I've got 1 "DATA !" per character (including "\n"). Yes, linux sets POLLERR if the fifo is not readable. > Result on Hurd : > I've got an infinite number of "DATA !". You miss the test for EOF. > It is like if the select state is not reset after reading. No, it is just a difference in the implementation. Both behaviours are okay. > I tried to find the bug but i need help, this software is not an easy peace. As it lacks checks of return values, it can't be easy. Bastian -- Well, Jim, I'm not much of an actor either.
signature.asc
Description: Digital signature