def main(): if sys.platform == 'win32': from cuwo.win32 import WindowsEventLoop loop = WindowsEventLoop() asyncio.set_event_loop(loop) # asyncio has poor support for signals on win32. # use a busy loop to properly receive SIGINT def busy_loop(): loop.call_later(0.1, busy_loop) busy_loop() else: loop = asyncio.get_event_loop() loop.add_signal_handler(signal.SIGINT, loop.stop) co = loop.create_server(lambda: FrontendProtocol(loop), '127.0.0.1', 12345) loop.create_task(co) print('cuwo (mitm) running on port 12345') loop.run_forever()