Only try to flush big buffers once

v0.7.4-release
Ryan Dahl 2010-11-18 14:19:09 -08:00
parent 849792e46b
commit 2ba3c10d62
1 changed files with 4 additions and 1 deletions

View File

@ -59,6 +59,8 @@ IOWatcher.prototype.ondrain = function () {
if (this.socket) {
var socket = this.socket;
socket._haveTriedFlush = false;
if (socket.writable || socket.readable) {
require('timers').active(socket);
}
@ -327,8 +329,9 @@ Stream.prototype.write = function (data /* encoding, fd, callback */) {
this._onWritable(); // Insert writeWatcher into the dumpQueue
require('timers').active(this);
if (queueSize > (64*1024)) {
if (queueSize > (64*1024) && !this._haveTriedFlush) {
IOWatcher.flush();
this._haveTriedFlush = true;
}
return queueSize < (64*1024);