Kind of. The reopening needs to finish before `FileStateHandler` is destructed in a clean way, ideally from `File`s destructor. This can be achieved in many ways, your initial patch was a step in the right direction on one of these ways. As the simplest solution, I'd suggest something like: ```c++ do { status = Close(); } while(!status.IsOK() || !status.IsFatal()); ``` instead of the close attempt that is there now. The above code assumes that a fatal error is returned only when the recovery of close is not possible, eg. when there is no recovery going on. I am not sure whether that is actually the case (don't remember). You should verify all the code paths. --- Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/issues/289#issuecomment-146236442 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1