Commit 7fa1a84e authored by Max Kellermann's avatar Max Kellermann

lib/nfs/Connection: move code to method InternalClose()

parent ab4bb26a
...@@ -331,12 +331,22 @@ DummyCallback(int, struct nfs_context *, void *, void *) ...@@ -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 void
NfsConnection::Close(struct nfsfh *fh) NfsConnection::Close(struct nfsfh *fh)
{ {
assert(GetEventLoop().IsInside()); assert(GetEventLoop().IsInside());
nfs_close_async(context, fh, DummyCallback, nullptr); InternalClose(fh);
ScheduleSocket(); ScheduleSocket();
} }
...@@ -424,8 +434,7 @@ NfsConnection::OnSocketReady(unsigned flags) ...@@ -424,8 +434,7 @@ NfsConnection::OnSocketReady(unsigned flags)
#endif #endif
while (!deferred_close.empty()) { while (!deferred_close.empty()) {
nfs_close_async(context, deferred_close.front(), InternalClose(deferred_close.front());
DummyCallback, nullptr);
deferred_close.pop_front(); deferred_close.pop_front();
} }
......
...@@ -187,6 +187,11 @@ private: ...@@ -187,6 +187,11 @@ private:
void DestroyContext(); void DestroyContext();
/** /**
* Wrapper for nfs_close_async().
*/
void InternalClose(struct nfsfh *fh);
/**
* Invoke nfs_close_async() after nfs_service() returns. * Invoke nfs_close_async() after nfs_service() returns.
*/ */
void DeferClose(struct nfsfh *fh); void DeferClose(struct nfsfh *fh);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment