lib/nfs/Connection: move code to Service()
This commit is contained in:
parent
32bca64920
commit
80f2ba7fca
|
@ -404,20 +404,11 @@ NfsConnection::ScheduleSocket()
|
|||
SocketMonitor::Schedule(libnfs_to_events(nfs_which_events(context)));
|
||||
}
|
||||
|
||||
bool
|
||||
NfsConnection::OnSocketReady(unsigned flags)
|
||||
inline int
|
||||
NfsConnection::Service(unsigned flags)
|
||||
{
|
||||
assert(GetEventLoop().IsInside());
|
||||
assert(deferred_close.empty());
|
||||
|
||||
bool closed = false;
|
||||
|
||||
const bool was_mounted = mount_finished;
|
||||
if (!mount_finished)
|
||||
/* until the mount is finished, the NFS client may use
|
||||
various sockets, therefore we unregister and
|
||||
re-register it each time */
|
||||
SocketMonitor::Steal();
|
||||
assert(context != nullptr);
|
||||
|
||||
#ifndef NDEBUG
|
||||
assert(!in_event);
|
||||
|
@ -435,6 +426,26 @@ NfsConnection::OnSocketReady(unsigned flags)
|
|||
in_service = false;
|
||||
#endif
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
bool
|
||||
NfsConnection::OnSocketReady(unsigned flags)
|
||||
{
|
||||
assert(GetEventLoop().IsInside());
|
||||
assert(deferred_close.empty());
|
||||
|
||||
bool closed = false;
|
||||
|
||||
const bool was_mounted = mount_finished;
|
||||
if (!mount_finished)
|
||||
/* until the mount is finished, the NFS client may use
|
||||
various sockets, therefore we unregister and
|
||||
re-register it each time */
|
||||
SocketMonitor::Steal();
|
||||
|
||||
const int result = Service(flags);
|
||||
|
||||
while (!deferred_close.empty()) {
|
||||
InternalClose(deferred_close.front());
|
||||
deferred_close.pop_front();
|
||||
|
|
|
@ -207,6 +207,11 @@ private:
|
|||
|
||||
void ScheduleSocket();
|
||||
|
||||
/**
|
||||
* Wrapper for nfs_service().
|
||||
*/
|
||||
int Service(unsigned flags);
|
||||
|
||||
/* virtual methods from SocketMonitor */
|
||||
virtual bool OnSocketReady(unsigned flags) override;
|
||||
|
||||
|
|
Loading…
Reference in New Issue