Print

Print


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