From b093d6f947836d3c4d5981a4d430a8e6c9717a53 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 1 Jan 2017 19:30:38 +0100 Subject: server_epoll: Add closeall() method for closing all clients and servers --- net/server_epoll.lua | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'net') diff --git a/net/server_epoll.lua b/net/server_epoll.lua index 117fa1dc..23564816 100644 --- a/net/server_epoll.lua +++ b/net/server_epoll.lua @@ -15,6 +15,7 @@ local t_concat = table.concat; local setmetatable = setmetatable; local tostring = tostring; local pcall = pcall; +local pairs = pairs; local log = require "util.logger".init("server_epoll"); local epoll = require "epoll"; local socket = require "socket"; @@ -602,6 +603,12 @@ function interface:set_send(new_send) self.send = new_send; end +local function closeall() + for fd, conn in pairs(fds) do + conn:close(); + end +end + local quitting = nil; -- Signal main loop about shutdown via above upvalue @@ -641,6 +648,7 @@ return { add_task = addtimer; at = at; loop = loop; + closeall = closeall; setquitting = setquitting; wrapclient = wrapclient; link = link; -- cgit v1.2.3