asyncio: Use ProactorEventLoop on Windows

This commit is contained in:
Yann Sionneau 2015-02-03 15:06:45 +01:00 committed by Sebastien Bourdeauducq
parent 78fc5a8a71
commit fc92a66e51
1 changed files with 6 additions and 1 deletions

View File

@ -3,6 +3,7 @@
import asyncio import asyncio
import argparse import argparse
import atexit import atexit
import os
from artiq.protocols.pc_rpc import Server from artiq.protocols.pc_rpc import Server
from artiq.protocols.sync_struct import Publisher from artiq.protocols.sync_struct import Publisher
@ -40,7 +41,11 @@ def main():
repository = Repository() repository = Repository()
explist = FlatFileDB("explist.pyon") explist = FlatFileDB("explist.pyon")
loop = asyncio.get_event_loop() if os.name == 'nt':
loop = asyncio.ProactorEventLoop()
asyncio.set_event_loop(loop)
else:
loop = asyncio.get_event_loop()
atexit.register(lambda: loop.close()) atexit.register(lambda: loop.close())
def run_cb(rid, run_params): def run_cb(rid, run_params):