Showing with 11 additions and 12 deletions.
  1. +1 −1 lib/dgram.js
  2. +8 −2 lib/net.js
  3. +0 −4 src/stream_wrap.cc
  4. +0 −3 src/udp_wrap.cc
  5. +2 −2 test/simple/test-net-GH-5504.js
@@ -301,7 +301,7 @@ Socket.prototype.send = function(buffer,
self.emit('error', ex);
}
else if (self._handle) {
var req = {};
var req = { buffer: buffer }; // Keep reference alive.
if (callback) {
req.callback = callback;
req.oncomplete = afterSend;
@@ -640,7 +640,13 @@ Socket.prototype._writeGeneric = function(writev, data, encoding, cb) {
// Retain chunks
if (err === 0) req._chunks = chunks;
} else {
var enc = util.isBuffer(data) ? 'buffer' : encoding;
var enc;
if (util.isBuffer(data)) {
req.buffer = data; // Keep reference alive.
enc = 'buffer';
} else {
enc = encoding;
}
err = createWriteReq(req, this._handle, data, enc);
}

@@ -743,7 +749,7 @@ function afterWrite(status, handle, req) {
var self = handle.owner;
var state = self._writableState;
if (self !== process.stderr && self !== process.stdout)
debug('afterWrite', status, req);
debug('afterWrite', status);

// callback may come after call to destroy.
if (self.destroyed) {
@@ -49,7 +49,6 @@ using v8::Undefined;
using v8::Value;


static Cached<String> buffer_sym;
static Cached<String> bytes_sym;
static Cached<String> write_queue_size_sym;
static Cached<String> onread_sym;
@@ -63,7 +62,6 @@ void StreamWrap::Initialize(Handle<Object> target) {
initialized = true;

HandleScope scope(node_isolate);
buffer_sym = FIXED_ONE_BYTE_STRING(node_isolate, "buffer");
bytes_sym = FIXED_ONE_BYTE_STRING(node_isolate, "bytes");
write_queue_size_sym = FIXED_ONE_BYTE_STRING(node_isolate, "writeQueueSize");
onread_sym = FIXED_ONE_BYTE_STRING(node_isolate, "onread");
@@ -215,8 +213,6 @@ void StreamWrap::WriteBuffer(const FunctionCallbackInfo<Value>& args) {
char* storage = new char[sizeof(WriteWrap)];
WriteWrap* req_wrap = new(storage) WriteWrap(req_wrap_obj, wrap);

req_wrap_obj->SetHiddenValue(buffer_sym, buf_obj);

uv_buf_t buf;
WriteBuffer(buf_obj, &buf);

@@ -57,7 +57,6 @@ class SendWrap : public ReqWrap<uv_udp_send_t> {


static Persistent<Function> constructor;
static Cached<String> buffer_sym;
static Cached<String> oncomplete_sym;
static Cached<String> onmessage_sym;

@@ -87,7 +86,6 @@ UDPWrap::~UDPWrap() {
void UDPWrap::Initialize(Handle<Object> target) {
HandleScope scope(node_isolate);

buffer_sym = FIXED_ONE_BYTE_STRING(node_isolate, "buffer");
oncomplete_sym = FIXED_ONE_BYTE_STRING(node_isolate, "oncomplete");
onmessage_sym = FIXED_ONE_BYTE_STRING(node_isolate, "onmessage");

@@ -261,7 +259,6 @@ void UDPWrap::DoSend(const FunctionCallbackInfo<Value>& args, int family) {
assert(length <= Buffer::Length(buffer_obj) - offset);

SendWrap* req_wrap = new SendWrap(req_wrap_obj, have_callback);
req_wrap->object()->SetHiddenValue(buffer_sym, buffer_obj);

uv_buf_t buf = uv_buf_init(Buffer::Data(buffer_obj) + offset,
length);
@@ -51,7 +51,7 @@ function server() {
console.error('_socketEnd');
});
socket.write(content);
}).listen(3000, function() {
}).listen(common.PORT, function() {
console.log('listening');
});
}
@@ -60,7 +60,7 @@ function client() {
var net = require('net');
var client = net.connect({
host: 'localhost',
port: 3000
port: common.PORT
}, function() {
client.destroy();
});