> unfortunately, that one still fails: i was willing to accept the fact that closing random file descriptors could result in lossage at this point to solve the infinite loop problem. (and any library function that opens a fd is potentially racing with any other thread closing random fds.)
it's worse than that, unfortunately. since there's no close-on-exit flag, a program that makes a habit of forking with a shared fd table quickly hits the 5000 fd limit. kfs is a quick casuality. i do like your rsec(int fd), but for some reason i'd rather not admit there's a fd in there. one is tempted to paw through /proc/pid/fd. :-) - erik
