aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/node/ext/call.h
diff options
context:
space:
mode:
authorGravatar Michael Lumish <mlumish@google.com>2017-04-06 17:29:15 -0700
committerGravatar GitHub <noreply@github.com>2017-04-06 17:29:15 -0700
commitbbf4e5b3267ba096a7de2aa6d9d6ed577f0ea5d0 (patch)
tree756f2e4bfcb0363aba93fd574770d0b34d925f28 /src/node/ext/call.h
parenta0756882c8a2a1b9031dfc716bc3de799743b656 (diff)
parent2a4ea2daafaf9a79f749d1fef1a6a5970613b9fb (diff)
Merge pull request #10468 from murgatroid99/node_call_destruction_bug
Fix call destruction bug
Diffstat (limited to 'src/node/ext/call.h')
-rw-r--r--src/node/ext/call.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/node/ext/call.h b/src/node/ext/call.h
index fe2abab9ee..53a5e4ab67 100644
--- a/src/node/ext/call.h
+++ b/src/node/ext/call.h
@@ -78,6 +78,8 @@ class Call : public Nan::ObjectWrap {
Call(const Call &);
Call &operator=(const Call &);
+ void DestroyCall();
+
static NAN_METHOD(New);
static NAN_METHOD(StartBatch);
static NAN_METHOD(Cancel);
@@ -111,11 +113,14 @@ class Op {
typedef std::vector<unique_ptr<Op>> OpVec;
struct tag {
- tag(Nan::Callback *callback, OpVec *ops, Call *call);
+ tag(Nan::Callback *callback, OpVec *ops, Call *call,
+ v8::Local<v8::Value> call_value);
~tag();
Nan::Callback *callback;
OpVec *ops;
Call *call;
+ Nan::Persistent<v8::Value, Nan::CopyablePersistentTraits<v8::Value>>
+ call_persist;
};
v8::Local<v8::Value> GetTagNodeValue(void *tag);