Carsten Koch wrote:
when i think about it, i'd rather do { r = read(...); } while (r >= 0 || ((r < 0) && (errno == EINTR)));
b.t.w. doesn't that eat cpu like crazy when O_NONBLOCK is set?
Sure it does.
How about putting in a sched_yield() or usleep() call then?
Good idea, thanks. First I'll try what Stefan suggested (ie. is mmap disabled?).