diff --git a/python/socketd/socketd/transport/core/impl/ProcessorDefault.py b/python/socketd/socketd/transport/core/impl/ProcessorDefault.py index 77332ef59e5a3bde1ae072df4653ac0eaeba6c16..45a552f285597d1b907fd70e25bde93dcc4cd740 100644 --- a/python/socketd/socketd/transport/core/impl/ProcessorDefault.py +++ b/python/socketd/socketd/transport/core/impl/ProcessorDefault.py @@ -203,7 +203,7 @@ class ProcessorDefault(Processor, FrameIoHandler, ABC): await RunUtils.waitTry(self.listener.on_reply(channel.get_session(), frame.message())) else: # 改为异步处理,避免卡死Io线程 - asyncio.get_running_loop().run_in_executor(self.get_config().get_exchange_executor(), + asyncio.get_running_loop().run_in_executor(channel.get_config().get_exchange_executor(), lambda _m: asyncio.run(stream.on_reply(_m)), frame.message()) else: await RunUtils.waitTry(self.listener.on_reply(channel.get_session(), frame.message())) diff --git a/python/socketd/socketd/utils/AsyncUtils.py b/python/socketd/socketd/utils/AsyncUtils.py index 75639ecf8698c73cdb32519a20b73305df8e0998..7602462a322c12e8692eff2f208fb5d636123cd8 100644 --- a/python/socketd/socketd/utils/AsyncUtils.py +++ b/python/socketd/socketd/utils/AsyncUtils.py @@ -4,8 +4,9 @@ import typing from concurrent.futures import Executor from threading import Thread -if sys.platform == "win32": - asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) +# 让用户自主选择 +# if sys.platform == "win32": +# asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) class AsyncUtils(object):