summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--netfs/fuse/fuseFiles.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/netfs/fuse/fuseFiles.cpp b/netfs/fuse/fuseFiles.cpp
index 8781772..7bd86ca 100644
--- a/netfs/fuse/fuseFiles.cpp
+++ b/netfs/fuse/fuseFiles.cpp
@@ -85,11 +85,14 @@ namespace NetFS {
auto remote = of->remote;
try {
of->flush();
+ clearProxy<OpenFilePtr>(fi->fh);
+ remote->close();
}
catch (SystemError & e) {
+ clearProxy<OpenFilePtr>(fi->fh);
+ remote->close();
+ throw;
}
- remote->close();
- clearProxy<OpenFilePtr>(fi->fh);
return 0;
}
catch (SystemError & e) {