GC when file descriptors run out
When opening a filr fails with errno 24, I think we should perform a major GC and try one more time before throwing an exception. This condition could be caused by open or semi-closed handles that are actually dead. Unless this is already handled in C? There's nothing in the Haskell code to do this.