From 6fabc8700f641caebd2f8ebad86f36faab31e02e Mon Sep 17 00:00:00 2001 From: Tomasz Grabiec Date: Wed, 8 Oct 2014 18:29:11 +0200 Subject: [PATCH] core: introduce timer::rearm() --- core/reactor.hh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/reactor.hh b/core/reactor.hh index 911a130db8..4c72385b91 100644 --- a/core/reactor.hh +++ b/core/reactor.hh @@ -117,6 +117,7 @@ public: future<> expired(); void set_callback(callback_t&& callback); void arm(clock_type::time_point until, boost::optional period = {}); + void rearm(clock_type::time_point until, boost::optional period = {}); void arm(clock_type::duration delta); void arm_periodic(clock_type::duration delta); bool armed() const { return _armed; } @@ -982,6 +983,14 @@ void timer::arm(clock_type::time_point until, boost::optional period) { + if (_armed) { + cancel(); + } + arm(until, period); +} + inline void timer::arm(clock_type::duration delta) { return arm(clock_type::now() + delta);