lib/nfs/Connection: make in_service and in_event debug-only flags

This commit is contained in:
Max Kellermann
2014-12-14 15:20:40 +01:00
parent 4b8d258cff
commit ab4bb26a0a
2 changed files with 11 additions and 0 deletions

View File

@@ -407,17 +407,21 @@ NfsConnection::OnSocketReady(unsigned flags)
re-register it each time */ re-register it each time */
SocketMonitor::Steal(); SocketMonitor::Steal();
#ifndef NDEBUG
assert(!in_event); assert(!in_event);
in_event = true; in_event = true;
assert(!in_service); assert(!in_service);
in_service = true; in_service = true;
#endif
int result = nfs_service(context, events_to_libnfs(flags)); int result = nfs_service(context, events_to_libnfs(flags));
#ifndef NDEBUG
assert(context != nullptr); assert(context != nullptr);
assert(in_service); assert(in_service);
in_service = false; in_service = false;
#endif
while (!deferred_close.empty()) { while (!deferred_close.empty()) {
nfs_close_async(context, deferred_close.front(), nfs_close_async(context, deferred_close.front(),
@@ -460,8 +464,10 @@ NfsConnection::OnSocketReady(unsigned flags)
closed = true; closed = true;
} }
#ifndef NDEBUG
assert(in_event); assert(in_event);
in_event = false; in_event = false;
#endif
if (context != nullptr) if (context != nullptr)
ScheduleSocket(); ScheduleSocket();
@@ -509,8 +515,11 @@ NfsConnection::MountInternal(Error &error)
postponed_mount_error.Clear(); postponed_mount_error.Clear();
mount_finished = false; mount_finished = false;
#ifndef NDEBUG
in_service = false; in_service = false;
in_event = false; in_event = false;
#endif
if (nfs_mount_async(context, server.c_str(), export_name.c_str(), if (nfs_mount_async(context, server.c_str(), export_name.c_str(),
MountCallback, this) != 0) { MountCallback, this) != 0) {

View File

@@ -111,6 +111,7 @@ class NfsConnection : SocketMonitor, DeferredMonitor {
Error postponed_mount_error; Error postponed_mount_error;
#ifndef NDEBUG
/** /**
* True when nfs_service() is being called. * True when nfs_service() is being called.
*/ */
@@ -121,6 +122,7 @@ class NfsConnection : SocketMonitor, DeferredMonitor {
* event updates are omitted. * event updates are omitted.
*/ */
bool in_event; bool in_event;
#endif
bool mount_finished; bool mount_finished;