Because by doing so we establish a dependency
between client lock and admin socket lock.
Signed-off-by: John Spray <john.spray@redhat.com>
int Client::init()
{
- client_lock.Lock();
- assert(!initialized);
-
timer.init();
-
objectcacher->start();
-
objecter->init();
+ client_lock.Lock();
+ assert(!initialized);
+
// ok!
messenger->add_dispatcher_tail(objecter);
messenger->add_dispatcher_tail(this);
assert(initialized);
initialized = false;
timer.shutdown();
- objecter->shutdown();
client_lock.Unlock();
+ objecter->shutdown();
objecter_finisher.wait_for_empty();
objecter_finisher.stop();