mirror of https://github.com/grpc/grpc-node.git
Memory leak fix?
This commit is contained in:
parent
6c006a88f8
commit
f24f9b8b69
13
ext/call.cc
13
ext/call.cc
|
@ -234,6 +234,14 @@ class SendMetadataOp : public Op {
|
||||||
|
|
||||||
class SendMessageOp : public Op {
|
class SendMessageOp : public Op {
|
||||||
public:
|
public:
|
||||||
|
SendMessageOp() {
|
||||||
|
send_message = NULL;
|
||||||
|
}
|
||||||
|
~SendMessageOp() {
|
||||||
|
if (send_message != NULL) {
|
||||||
|
grpc_byte_buffer_destroy(send_message);
|
||||||
|
}
|
||||||
|
}
|
||||||
Local<Value> GetNodeValue() const {
|
Local<Value> GetNodeValue() const {
|
||||||
EscapableHandleScope scope;
|
EscapableHandleScope scope;
|
||||||
return scope.Escape(Nan::True());
|
return scope.Escape(Nan::True());
|
||||||
|
@ -253,7 +261,8 @@ class SendMessageOp : public Op {
|
||||||
out->flags = maybe_flag.FromMaybe(0) & GRPC_WRITE_USED_MASK;
|
out->flags = maybe_flag.FromMaybe(0) & GRPC_WRITE_USED_MASK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
out->data.send_message = BufferToByteBuffer(value);
|
send_message = BufferToByteBuffer(value);
|
||||||
|
out->data.send_message = send_message;
|
||||||
PersistentValue *handle = new PersistentValue(value);
|
PersistentValue *handle = new PersistentValue(value);
|
||||||
resources->handles.push_back(unique_ptr<PersistentValue>(handle));
|
resources->handles.push_back(unique_ptr<PersistentValue>(handle));
|
||||||
return true;
|
return true;
|
||||||
|
@ -262,6 +271,8 @@ class SendMessageOp : public Op {
|
||||||
std::string GetTypeString() const {
|
std::string GetTypeString() const {
|
||||||
return "send_message";
|
return "send_message";
|
||||||
}
|
}
|
||||||
|
private:
|
||||||
|
grpc_byte_buffer *send_message;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SendClientCloseOp : public Op {
|
class SendClientCloseOp : public Op {
|
||||||
|
|
Loading…
Reference in New Issue