aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/nfs/Connection.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/nfs/Connection.cxx')
-rw-r--r--src/lib/nfs/Connection.cxx15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/lib/nfs/Connection.cxx b/src/lib/nfs/Connection.cxx
index c62b11acb..433d49ecf 100644
--- a/src/lib/nfs/Connection.cxx
+++ b/src/lib/nfs/Connection.cxx
@@ -331,12 +331,22 @@ DummyCallback(int, struct nfs_context *, void *, void *)
{
}
+inline void
+NfsConnection::InternalClose(struct nfsfh *fh)
+{
+ assert(GetEventLoop().IsInside());
+ assert(context != nullptr);
+ assert(fh != nullptr);
+
+ nfs_close_async(context, fh, DummyCallback, nullptr);
+}
+
void
NfsConnection::Close(struct nfsfh *fh)
{
assert(GetEventLoop().IsInside());
- nfs_close_async(context, fh, DummyCallback, nullptr);
+ InternalClose(fh);
ScheduleSocket();
}
@@ -424,8 +434,7 @@ NfsConnection::OnSocketReady(unsigned flags)
#endif
while (!deferred_close.empty()) {
- nfs_close_async(context, deferred_close.front(),
- DummyCallback, nullptr);
+ InternalClose(deferred_close.front());
deferred_close.pop_front();
}