net.server_select: Pause servers while they are full
authorKim Alvefur <zash@zash.se>
Fri, 28 Dec 2012 13:33:27 +0000 (14:33 +0100)
committerKim Alvefur <zash@zash.se>
Fri, 28 Dec 2012 13:33:27 +0000 (14:33 +0100)
net/server_select.lua

index 97c29b8c439655220252d4d4487a3e65115894f3..97b9f199cd0a7c629f82378776e2fe715aeeabed 100644 (file)
@@ -185,6 +185,9 @@ wrapserver = function( listeners, socket, ip, serverport, pattern, sslctx, maxco
        end
        handler.remove = function( )
                connections = connections - 1
+               if handler then
+                       handler.resume( )
+               end
        end
        handler.close = function()
                socket:close( )
@@ -227,6 +230,7 @@ wrapserver = function( listeners, socket, ip, serverport, pattern, sslctx, maxco
        end
        handler.readbuffer = function( )
                if connections > maxconnections then
+                       handler.pause( )
                        out_put( "server.lua: refused new client connection: server full" )
                        return false
                end