From cd30a422fbc3d9d96b9aae791063a20d02a5f195 Mon Sep 17 00:00:00 2001 From: Pawel Kozlowski Date: Fri, 18 Apr 2014 19:13:30 +0200 Subject: [PATCH] fix(server): don't wait for socket.io store expiration timeout --- lib/server.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/server.js b/lib/server.js index d4bd6b452..070ae7bdf 100644 --- a/lib/server.js +++ b/lib/server.js @@ -245,6 +245,11 @@ var createSocketIoServer = function(webServer, executor, config) { var server = io.listen(webServer, { // avoid destroying http upgrades from socket.io to get proxied websockets working 'destroy upgrade': false, + // socket.io has a timeout (15s by default) before destroying a store (a data structure where + // data associated with a socket are stored). Unfortunately this timeout is not cleared + // properly on socket.io shutdown and this timeout prevents karma from exiting cleanly. + // We change this timeout to 0 to make Karma exit just after all tests were executed. + 'client store expiration': 0, logger: logger.create('socket.io', constant.LOG_ERROR), resource: config.urlRoot + 'socket.io', transports: config.transports