From 3adf7a3dcfd68f0347b0ab38250b003f73344dad Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Fri, 12 Mar 2010 12:38:27 -0800 Subject: [PATCH] TCP timeout opt-in instead of opt-out For speed, idle connections are super cheap. --- lib/net.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/net.js b/lib/net.js index 218d66bc04b..36fd0cc96f3 100644 --- a/lib/net.js +++ b/lib/net.js @@ -145,15 +145,17 @@ var timeout = new (function () { var unenroll = this.unenroll = function (socket) { - socket._idleNext._idlePrev = socket._idlePrev; - socket._idlePrev._idleNext = socket._idleNext; + if (socket._idleNext) { + socket._idleNext._idlePrev = socket._idlePrev; + socket._idlePrev._idleNext = socket._idleNext; - var list = lists[socket._idleTimeout]; - // if empty then stop the watcher - //sys.puts('unenroll'); - if (list && list._idlePrev == list) { - //sys.puts('unenroll: list empty'); - list.stop(); + var list = lists[socket._idleTimeout]; + // if empty then stop the watcher + //sys.puts('unenroll'); + if (list && list._idlePrev == list) { + //sys.puts('unenroll: list empty'); + list.stop(); + } } }; @@ -256,8 +258,6 @@ function _doFlush () { } function initSocket (self) { - timeout.enroll(self, 60*1000); // default timeout, 60 seconds - self._readWatcher = ioWatchers.alloc(); self._readWatcher.callback = function () { // If this is the first recv (recvBuffer doesn't exist) or we've used up