From: Sage Weil Date: Tue, 14 Mar 2017 14:02:38 +0000 (-0400) Subject: mgr/MgrClient: do not assert on control-c X-Git-Tag: v12.0.2~252^2~21 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8ca982f403b0c642fbd84a03250e316067bd9c5e;p=ceph.git mgr/MgrClient: do not assert on control-c Signed-off-by: Sage Weil --- diff --git a/src/common/CommandTable.h b/src/common/CommandTable.h index 6aab1b8c24b1..e952ebe2f278 100644 --- a/src/common/CommandTable.h +++ b/src/common/CommandTable.h @@ -93,6 +93,10 @@ public: { commands.erase(tid); } + + void clear() { + commands.clear(); + } }; #endif diff --git a/src/mgr/MgrClient.cc b/src/mgr/MgrClient.cc index cb5a39ade64b..1defc2c9f0a3 100644 --- a/src/mgr/MgrClient.cc +++ b/src/mgr/MgrClient.cc @@ -49,6 +49,10 @@ void MgrClient::shutdown() { Mutex::Locker l(lock); + // forget about in-flight commands if we are prematurely shut down + // (e.g., by control-C) + command_table.clear(); + timer.shutdown(); session.reset(); }