From: Haomai Wang Date: Wed, 25 May 2016 01:36:35 +0000 (+0800) Subject: AsyncConnection: move delete timers to cleanup handler X-Git-Tag: v11.0.1~920^2~14 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=761f1471594eca73d030645d75ae6f764e340430;p=ceph-ci.git AsyncConnection: move delete timers to cleanup handler Signed-off-by: Haomai Wang --- diff --git a/src/msg/async/AsyncConnection.cc b/src/msg/async/AsyncConnection.cc index 366bdc6f4df..000b6bfeeb2 100644 --- a/src/msg/async/AsyncConnection.cc +++ b/src/msg/async/AsyncConnection.cc @@ -2236,9 +2236,6 @@ void AsyncConnection::_stop() ::close(sd); } sd = -1; - for (set::iterator it = register_time_events.begin(); - it != register_time_events.end(); ++it) - center->delete_time_event(*it); // Make sure in-queue events will been processed center->dispatch_event_external(EventCallbackRef(new C_clean_handler(this))); diff --git a/src/msg/async/AsyncConnection.h b/src/msg/async/AsyncConnection.h index f9867a572f3..aac571a0497 100644 --- a/src/msg/async/AsyncConnection.h +++ b/src/msg/async/AsyncConnection.h @@ -382,6 +382,10 @@ class AsyncConnection : public Connection { dispatch_queue->queue_reset(this); } void cleanup_handler() { + for (auto &&t : register_time_events) + center->delete_time_event(t); + register_time_events.clear(); + center->delete_time_event(last_tick_id); delete read_handler; delete write_handler; delete wakeup_handler;