From 5482997e01401f38912df36ea5e5594b3919dd1c Mon Sep 17 00:00:00 2001 From: hrsakai Date: Mon, 5 Aug 2019 17:17:10 +0900 Subject: [PATCH 1/2] add skip flag for cMessageId free --- src/MessageId.cc | 8 +++++++- src/MessageId.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/MessageId.cc b/src/MessageId.cc index 62cd1c87..4ba95e24 100644 --- a/src/MessageId.cc +++ b/src/MessageId.cc @@ -70,6 +70,7 @@ Napi::Value MessageId::Earliest(const Napi::CallbackInfo &info) { Napi::Object obj = NewInstance(info[0]); MessageId *msgId = Unwrap(obj); msgId->cMessageId = (pulsar_message_id_t *)pulsar_message_id_earliest(); + msgId->skipcMessageIdFree = true; return obj; } @@ -77,6 +78,7 @@ Napi::Value MessageId::Latest(const Napi::CallbackInfo &info) { Napi::Object obj = NewInstance(info[0]); MessageId *msgId = Unwrap(obj); msgId->cMessageId = (pulsar_message_id_t *)pulsar_message_id_latest(); + msgId->skipcMessageIdFree = true; return obj; } @@ -113,4 +115,8 @@ Napi::Value MessageId::ToString(const Napi::CallbackInfo &info) { return Napi::String::New(info.Env(), pulsar_message_id_str(this->cMessageId)); } -MessageId::~MessageId() { pulsar_message_id_free(this->cMessageId); } +MessageId::~MessageId() { + if (!this->skipcMessageIdFree) { + pulsar_message_id_free(this->cMessageId); + } +} diff --git a/src/MessageId.h b/src/MessageId.h index f65b1b4e..64926019 100644 --- a/src/MessageId.h +++ b/src/MessageId.h @@ -41,6 +41,7 @@ class MessageId : public Napi::ObjectWrap { private: static Napi::FunctionReference constructor; pulsar_message_id_t *cMessageId; + bool skipcMessageIdFree = false; Napi::Value ToString(const Napi::CallbackInfo &info); }; From c5a7164b419c90e17bf5620cc22df685c4edf888 Mon Sep 17 00:00:00 2001 From: hrsakai Date: Tue, 6 Aug 2019 13:07:08 +0900 Subject: [PATCH 2/2] Fix variable name --- src/MessageId.cc | 6 +++--- src/MessageId.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/MessageId.cc b/src/MessageId.cc index 4ba95e24..ee6952c5 100644 --- a/src/MessageId.cc +++ b/src/MessageId.cc @@ -70,7 +70,7 @@ Napi::Value MessageId::Earliest(const Napi::CallbackInfo &info) { Napi::Object obj = NewInstance(info[0]); MessageId *msgId = Unwrap(obj); msgId->cMessageId = (pulsar_message_id_t *)pulsar_message_id_earliest(); - msgId->skipcMessageIdFree = true; + msgId->skipCMessageIdFree = true; return obj; } @@ -78,7 +78,7 @@ Napi::Value MessageId::Latest(const Napi::CallbackInfo &info) { Napi::Object obj = NewInstance(info[0]); MessageId *msgId = Unwrap(obj); msgId->cMessageId = (pulsar_message_id_t *)pulsar_message_id_latest(); - msgId->skipcMessageIdFree = true; + msgId->skipCMessageIdFree = true; return obj; } @@ -116,7 +116,7 @@ Napi::Value MessageId::ToString(const Napi::CallbackInfo &info) { } MessageId::~MessageId() { - if (!this->skipcMessageIdFree) { + if (!this->skipCMessageIdFree) { pulsar_message_id_free(this->cMessageId); } } diff --git a/src/MessageId.h b/src/MessageId.h index 64926019..0a5300b4 100644 --- a/src/MessageId.h +++ b/src/MessageId.h @@ -41,7 +41,7 @@ class MessageId : public Napi::ObjectWrap { private: static Napi::FunctionReference constructor; pulsar_message_id_t *cMessageId; - bool skipcMessageIdFree = false; + bool skipCMessageIdFree = false; Napi::Value ToString(const Napi::CallbackInfo &info); };