diff --git a/lib/child_process.js b/lib/child_process.js index 4a1f9fec85..23465a706d 100644 --- a/lib/child_process.js +++ b/lib/child_process.js @@ -329,11 +329,6 @@ function setupChannel(target, channel) { return; } - // For overflow protection don't write if channel queue is too deep. - if (channel.writeQueueSize > 1024 * 1024) { - return false; - } - // package messages with a handle object if (handle) { // this message will be handled by an internalMessage event handler @@ -379,7 +374,8 @@ function setupChannel(target, channel) { writeReq.oncomplete = nop; - return true; + /* If the master is > 2 read() calls behind, please stop sending. */ + return channel.writeQueueSize < (65536 * 2); }; target.connected = true;