Skip to content

Commit dccb69a

Browse files
committed
js_stream: fix leak of instances
Don't forget to call `MakeWeak` to ensure that instance objects are garbage collectable. PR-URL: #1078 Reviewed-By: Ben Noordhuis <[email protected]>
1 parent 583a868 commit dccb69a

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

src/js_stream.cc

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ JSStream::JSStream(Environment* env, Handle<Object> obj, AsyncWrap* parent)
2626
: StreamBase(env),
2727
AsyncWrap(env, obj, AsyncWrap::PROVIDER_JSSTREAM, parent) {
2828
node::Wrap(obj, this);
29+
MakeWeak<JSStream>(this);
2930
}
3031

3132

src/js_stream.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ class JSStream : public StreamBase, public AsyncWrap {
1414
v8::Handle<v8::Value> unused,
1515
v8::Handle<v8::Context> context);
1616

17+
~JSStream();
18+
1719
void* Cast() override;
1820
bool IsAlive() override;
1921
bool IsClosing() override;
@@ -28,7 +30,6 @@ class JSStream : public StreamBase, public AsyncWrap {
2830

2931
protected:
3032
JSStream(Environment* env, v8::Handle<v8::Object> obj, AsyncWrap* parent);
31-
~JSStream();
3233

3334
AsyncWrap* GetAsyncWrap() override;
3435

0 commit comments

Comments
 (0)