@@ -12,13 +12,14 @@ TimerWrap::TimerWrap(Environment* env, const TimerCb& fn) |
12 | 12 | timer_.data = this; |
13 | 13 | } |
14 | 14 |
|
15 | | -void TimerWrap::Stop(bool close) { |
| 15 | +void TimerWrap::Stop() { |
16 | 16 | if (timer_.data == nullptr) return; |
17 | 17 | uv_timer_stop(&timer_); |
18 | | - if (LIKELY(close)) { |
19 | | - timer_.data = nullptr; |
20 | | - env_->CloseHandle(reinterpret_cast<uv_handle_t*>(&timer_), TimerClosedCb); |
21 | | - } |
| 18 | +} |
| 19 | + |
| 20 | +void TimerWrap::Close() { |
| 21 | + timer_.data = nullptr; |
| 22 | + env_->CloseHandle(reinterpret_cast<uv_handle_t*>(&timer_), TimerClosedCb); |
22 | 23 | } |
23 | 24 |
|
24 | 25 | void TimerWrap::TimerClosedCb(uv_handle_t* handle) { |
@@ -54,13 +55,14 @@ TimerWrapHandle::TimerWrapHandle( |
54 | 55 | env->AddCleanupHook(CleanupHook, this); |
55 | 56 | } |
56 | 57 |
|
57 | | -void TimerWrapHandle::Stop(bool close) { |
58 | | - if (UNLIKELY(!close)) |
59 | | - return timer_->Stop(close); |
| 58 | +void TimerWrapHandle::Stop() { |
| 59 | + return timer_->Stop(); |
| 60 | +} |
60 | 61 |
|
| 62 | +void TimerWrapHandle::Close() { |
61 | 63 | if (timer_ != nullptr) { |
62 | 64 | timer_->env()->RemoveCleanupHook(CleanupHook, this); |
63 | | - timer_->Stop(); |
| 65 | + timer_->Close(); |
64 | 66 | } |
65 | 67 | timer_ = nullptr; |
66 | 68 | } |
@@ -80,13 +82,13 @@ void TimerWrapHandle::Update(uint64_t interval, uint64_t repeat) { |
80 | 82 | timer_->Update(interval, repeat); |
81 | 83 | } |
82 | 84 |
|
83 | | -void TimerWrapHandle::CleanupHook(void* data) { |
84 | | - static_cast<TimerWrapHandle*>(data)->Stop(); |
85 | | -} |
86 | | - |
87 | | -void TimerWrapHandle::MemoryInfo(node::MemoryTracker* tracker) const { |
| 85 | +void TimerWrapHandle::MemoryInfo(MemoryTracker* tracker) const { |
88 | 86 | if (timer_ != nullptr) |
89 | 87 | tracker->TrackField("timer", *timer_); |
90 | 88 | } |
91 | 89 |
|
| 90 | +void TimerWrapHandle::CleanupHook(void* data) { |
| 91 | + static_cast<TimerWrapHandle*>(data)->Close(); |
| 92 | +} |
| 93 | + |
92 | 94 | } // namespace node |