plug a file bookkeeping memory leak
support a timeout on Pool.join