From 9a408bdfe612adf12c72da688cb2e66e8cc74fd6 Mon Sep 17 00:00:00 2001 From: Justin Matthews Date: Thu, 24 Jan 2013 14:13:25 -0800 Subject: [PATCH] Fix for retaining large slab buffers in node core --- lib/WebSocketServer.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/WebSocketServer.js b/lib/WebSocketServer.js index b32280d7a..2a6e64ad7 100644 --- a/lib/WebSocketServer.js +++ b/lib/WebSocketServer.js @@ -64,7 +64,11 @@ function WebSocketServer(options, callback) { self.emit('error', error) }); this._server.on('upgrade', function(req, socket, upgradeHead) { - self.handleUpgrade(req, socket, upgradeHead, function(client) { + //copy upgradeHead to avoid retention of large slab buffers used in node core + var head = new Buffer(upgradeHead.length); + upgradeHead.copy(head); + + self.handleUpgrade(req, socket, head, function(client) { self.emit('connection'+req.url, client); self.emit('connection', client); });