From 988bfe87661cc8c38b6d81b213f4b804bb1415b0 Mon Sep 17 00:00:00 2001 From: Li Yong Date: Fri, 28 Sep 2012 10:04:26 +0800 Subject: [PATCH] db.js use var slot to save arr[idx] --- lib/db.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/db.js b/lib/db.js index 944db2f..8cc3051 100644 --- a/lib/db.js +++ b/lib/db.js @@ -79,11 +79,12 @@ var dbListener = net.createServer({allowHalfOpen : true}, function(c){ } logger.db('oracle server(%d:%d) connected, now has %d', c.sid, c.serial, dbListener.connections); - if (dbPool[c.pseq]) { - dbPool[c.pseq].oraSock = c; - dbPool[c.pseq].status = 'free'; + var slot = dbPool[c.pseq]; + if (slot) { + slot.oraSock = c; + slot.status = 'free'; } else { - dbPool[c.pseq] = new Slot(c); + slot = dbPool[c.pseq] = new Slot(c); } freeList.push(c); @@ -92,9 +93,9 @@ var dbListener = net.createServer({allowHalfOpen : true}, function(c){ c.on('end', function(pos){ logger.db('oracle server(%d:%d) disconnected, now has %d', c.sid, c.serial, dbListener.connections); - dbPool[c.pseq].hBytesRead += c.bytesRead; - dbPool[c.pseq].hBytesWritten += c.bytesWritten; - dbPool[c.pseq].status = 'closed'; + slot.hBytesRead += c.bytesRead; + slot.hBytesWritten += c.bytesWritten; + slot.status = 'closed'; pos = find(quitList, c); if (~pos) { @@ -201,6 +202,7 @@ function pushBackToFreelist(oraSock, busyRec){ logger.db('push back to %d', oraSock.seq); oraSock.removeAllListeners('data'); oraSock.removeAllListeners('timeout'); + // mark this busyRec has no oraSock for use, css/fb depend on it to detect timeout clearup freeList.unshift(oraSock); dbPool[oraSock.pseq].status = 'free';