js_stream: fix leak of instances

Don't forget to call `MakeWeak` to ensure that instance objects are
garbage collectable.

PR-URL: https://github.com/iojs/io.js/pull/1078
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This commit is contained in:
Fedor Indutny 2015-03-05 20:26:12 -05:00
Родитель 583a868bcd
Коммит dccb69a21a
2 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -26,6 +26,7 @@ JSStream::JSStream(Environment* env, Handle<Object> obj, AsyncWrap* parent)
: StreamBase(env),
AsyncWrap(env, obj, AsyncWrap::PROVIDER_JSSTREAM, parent) {
node::Wrap(obj, this);
MakeWeak<JSStream>(this);
}

Просмотреть файл

@ -14,6 +14,8 @@ class JSStream : public StreamBase, public AsyncWrap {
v8::Handle<v8::Value> unused,
v8::Handle<v8::Context> context);
~JSStream();
void* Cast() override;
bool IsAlive() override;
bool IsClosing() override;
@ -28,7 +30,6 @@ class JSStream : public StreamBase, public AsyncWrap {
protected:
JSStream(Environment* env, v8::Handle<v8::Object> obj, AsyncWrap* parent);
~JSStream();
AsyncWrap* GetAsyncWrap() override;