diff --git a/artiq/protocols/pc_rpc.py b/artiq/protocols/pc_rpc.py index bf3f1c12b..f2acd9bfc 100644 --- a/artiq/protocols/pc_rpc.py +++ b/artiq/protocols/pc_rpc.py @@ -11,6 +11,7 @@ client passes a list as a parameter of an RPC method, and that method client's list. """ +import os import socket import asyncio import threading @@ -592,7 +593,11 @@ def simple_server_loop(targets, host, port, description=None): See ``Server`` for a description of the parameters. """ - loop = asyncio.get_event_loop() + if os.name == "nt": + loop = asyncio.ProactorEventLoop() + asyncio.set_event_loop(loop) + else: + loop = asyncio.get_event_loop() try: server = Server(targets, description, True) loop.run_until_complete(server.start(host, port))