And socket(), accept()... anything else which can return an fd. It
looks pretty ugly.
Put it this way: when Linus changed the bahaviour of select, I was
surprised that anything really noticed, but it had to be changed back
for compatibility. This "lowest next free" behaviour is much more
firmly entrenched. I agree that emulating it sucks as far as
performance goes, but there you are. Allocation and use of pids is
similar...
J