var unenroll = this.unenroll = function (socket) {
- 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();
+ 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();
+ }
}
};
}
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