diff options
-rw-r--r-- | net/server_epoll.lua | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/server_epoll.lua b/net/server_epoll.lua index 89f358a5..713baa0c 100644 --- a/net/server_epoll.lua +++ b/net/server_epoll.lua @@ -351,8 +351,14 @@ function interface:destroy() self:setflags(false, false); self:setwritetimeout(false); self:setreadtimeout(false); + self.onreadable = noop; + self.onwriteable = noop; + self.destroy = noop; + self.close = noop; + self.on = noop; fds[self:getfd()] = nil; - return self.conn:close(); + self.conn:close(); + self.conn = nil; end function interface:ssl() |