fixed concurrency bug in File::open