что не так в этом коде? после посыла данных в fifo процесс начинает кушать все больше и больше процессорного времени
while(1)
{
fd_set fds;
FD_ZERO(&fds);
FD_SET(fd, &fds);
if(select(fd + 1, &fds, NULL, NULL, NULL) == -1)
{
if(errno == EINTR) continue;
fprintf(stderr, "select: %.100s (%i)\n", strerror(errno), errno);
close(fd);
exit(EXIT_FAILURE);
}
memset(buffer, '\0', sizeof(buffer));
if(FD_ISSET(fd, &fds))
{
if((f.n = read(fd, buffer, sizeof(buffer) - 1)) > 0)
{
fprintf(stdout, buffer);
}
}
}