From 58df1d82d01c3ba33f2d63bfd49fb1cfecde9205 Mon Sep 17 00:00:00 2001 From: clowwindy Date: Mon, 3 Aug 2015 23:54:30 +0800 Subject: [PATCH] close poll object after loop stopped --- shadowsocks/eventloop.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/shadowsocks/eventloop.py b/shadowsocks/eventloop.py index b27afe3..78b532c 100644 --- a/shadowsocks/eventloop.py +++ b/shadowsocks/eventloop.py @@ -98,6 +98,9 @@ class KqueueLoop(object): self.unregister(fd) self.register(fd, mode) + def close(self): + self._kqueue.close() + class SelectLoop(object): @@ -135,6 +138,9 @@ class SelectLoop(object): self.unregister(fd) self.register(fd, mode) + def close(self): + pass + class EventLoop(object): def __init__(self): @@ -216,6 +222,9 @@ class EventLoop(object): callback() self._last_time = now + def __del__(self): + self._impl.close() + # from tornado def errno_from_exception(e):