This is an automated email from the ASF dual-hosted git repository.
massakam pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-client-node.git
The following commit(s) were added to refs/heads/master by this push:
new ba575e9 fix cleanup (#106)
ba575e9 is described below
commit ba575e900fce19dbc1d6917c94eec2cfa5ec9874
Author: k2la <[email protected]>
AuthorDate: Tue Jul 21 18:54:32 2020 +0900
fix cleanup (#106)
Co-authored-by: yfuruta <[email protected]>
---
src/Consumer.cc | 13 +++++++++----
src/Consumer.h | 1 +
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/Consumer.cc b/src/Consumer.cc
index 225ed3e..5bcaa87 100644
--- a/src/Consumer.cc
+++ b/src/Consumer.cc
@@ -289,11 +289,17 @@ class ConsumerCloseWorker : public Napi::AsyncWorker {
void Consumer::Cleanup() {
if (this->listener) {
- this->Unref();
- this->listener = nullptr;
+ this->CleanupListener();
}
}
+void Consumer::CleanupListener() {
+ pulsar_consumer_pause_message_listener(this->wrapper->cConsumer);
+ this->Unref();
+ this->listener->callback.Release();
+ this->listener = nullptr;
+}
+
Napi::Value Consumer::Close(const Napi::CallbackInfo &info) {
Napi::Promise::Deferred deferred = Napi::Promise::Deferred::New(info.Env());
ConsumerCloseWorker *wk = new ConsumerCloseWorker(deferred,
this->wrapper->cConsumer, this);
@@ -303,7 +309,6 @@ Napi::Value Consumer::Close(const Napi::CallbackInfo &info)
{
Consumer::~Consumer() {
if (this->listener) {
- pulsar_consumer_pause_message_listener(this->wrapper->cConsumer);
- this->listener->callback.Release();
+ this->CleanupListener();
}
}
diff --git a/src/Consumer.h b/src/Consumer.h
index 2c5f856..e6e3609 100644
--- a/src/Consumer.h
+++ b/src/Consumer.h
@@ -35,6 +35,7 @@ class Consumer : public Napi::ObjectWrap<Consumer> {
void SetCConsumer(std::shared_ptr<CConsumerWrapper> cConsumer);
void SetListenerCallback(ListenerCallback *listener);
void Cleanup();
+ void CleanupListener();
private:
std::shared_ptr<CConsumerWrapper> wrapper;