summaryrefslogtreecommitdiff
path: root/src/async_wrap.cc
diff options
context:
space:
mode:
authorDaniel Bevenius <daniel.bevenius@gmail.com>2018-03-06 11:53:15 +0100
committerDaniel Bevenius <daniel.bevenius@gmail.com>2018-03-08 05:40:40 +0100
commit1e3dd8bf5589394827a57aaa91854add7e43958d (patch)
tree1514a67fb4d4ed306ce6dc13cb43cb6b6a9b932e /src/async_wrap.cc
parentebfed17fecaa2e7bbf0740ab7411cbf116e3d042 (diff)
downloadandroid-node-v8-1e3dd8bf5589394827a57aaa91854add7e43958d.tar.gz
android-node-v8-1e3dd8bf5589394827a57aaa91854add7e43958d.tar.bz2
android-node-v8-1e3dd8bf5589394827a57aaa91854add7e43958d.zip
src: use smart pointer in AsyncWrap::WeakCallback
PR-URL: https://github.com/nodejs/node/pull/19168 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Diffstat (limited to 'src/async_wrap.cc')
-rw-r--r--src/async_wrap.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/async_wrap.cc b/src/async_wrap.cc
index 08bb73f746..e2656e4eec 100644
--- a/src/async_wrap.cc
+++ b/src/async_wrap.cc
@@ -415,14 +415,14 @@ void AsyncWrap::WeakCallback(const v8::WeakCallbackInfo<DestroyParam>& info) {
HandleScope scope(info.GetIsolate());
Environment* env = Environment::GetCurrent(info.GetIsolate());
- DestroyParam* p = info.GetParameter();
+ std::unique_ptr<DestroyParam> p{info.GetParameter()};
Local<Object> prop_bag = PersistentToLocal(info.GetIsolate(), p->propBag);
Local<Value> val = prop_bag->Get(env->destroyed_string());
if (val->IsFalse()) {
AsyncWrap::EmitDestroy(env, p->asyncId);
}
- delete p;
+ // unique_ptr goes out of scope here and pointer is deleted.
}