mirror of https://github.com/nodejs/node.git
src: fix memory leak in UsingDomains()
UsingDomains() assigned process_tickCallback when it had already been set by MakeCallback() a few frames down the call stack. Dispose the handle first or we'll retain whatever is in the lexical closure of the old process._tickCallback function. Fixes #5795.pull/5010/head
parent
4c38742dd8
commit
806e300878
|
@ -919,6 +919,7 @@ Handle<Value> UsingDomains(const Arguments& args) {
|
|||
Local<Function> ndt = ndt_v.As<Function>();
|
||||
process->Set(String::New("_tickCallback"), tdc);
|
||||
process->Set(String::New("nextTick"), ndt);
|
||||
process_tickCallback.Dispose(); // Possibly already set by MakeCallback().
|
||||
process_tickCallback = Persistent<Function>::New(tdc);
|
||||
return Undefined();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue