python 3 support; not stable yet
This commit is contained in:
parent
0814888ba5
commit
2a53b67c65
17 changed files with 204 additions and 115 deletions
|
@ -21,11 +21,15 @@
|
|||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
from __future__ import absolute_import, division, print_function, \
|
||||
with_statement
|
||||
|
||||
import sys
|
||||
import os
|
||||
import logging
|
||||
import signal
|
||||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../'))
|
||||
from shadowsocks import utils, encrypt, eventloop, tcprelay, udprelay, asyncdns
|
||||
|
||||
|
||||
|
@ -66,13 +70,13 @@ def main():
|
|||
def run_server():
|
||||
def child_handler(signum, _):
|
||||
logging.warn('received SIGQUIT, doing graceful shutting down..')
|
||||
map(lambda s: s.close(next_tick=True), tcp_servers + udp_servers)
|
||||
list(map(lambda s: s.close(next_tick=True), tcp_servers + udp_servers))
|
||||
signal.signal(getattr(signal, 'SIGQUIT', signal.SIGTERM),
|
||||
child_handler)
|
||||
try:
|
||||
loop = eventloop.EventLoop()
|
||||
dns_resolver.add_to_loop(loop)
|
||||
map(lambda s: s.add_to_loop(loop), tcp_servers + udp_servers)
|
||||
list(map(lambda s: s.add_to_loop(loop), tcp_servers + udp_servers))
|
||||
loop.run()
|
||||
except (KeyboardInterrupt, IOError, OSError) as e:
|
||||
logging.error(e)
|
||||
|
@ -85,7 +89,7 @@ def main():
|
|||
if os.name == 'posix':
|
||||
children = []
|
||||
is_child = False
|
||||
for i in xrange(0, int(config['workers'])):
|
||||
for i in range(0, int(config['workers'])):
|
||||
r = os.fork()
|
||||
if r == 0:
|
||||
logging.info('worker started')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue