forked from goodboy/tractor
				
			Pass func refs
							parent
							
								
									95ad393042
								
							
						
					
					
						commit
						d2ba860269
					
				|  | @ -8,7 +8,9 @@ async def sleep_and_err(): | |||
|     assert 0 | ||||
| 
 | ||||
| 
 | ||||
| async def trio_main(): | ||||
| async def asyncio_actor(): | ||||
|     assert tractor.current_actor().is_infected_aio() | ||||
| 
 | ||||
|     await tractor.to_asyncio.run_task(sleep_and_err) | ||||
| 
 | ||||
| 
 | ||||
|  | @ -16,7 +18,7 @@ def test_infected_simple_error(arb_addr): | |||
| 
 | ||||
|     async def main(): | ||||
|         async with tractor.open_nursery() as n: | ||||
|             await n.run_in_actor('asyncio_actor', trio_main, infected_asyncio=True) | ||||
|             await n.run_in_actor(asyncio_actor, infected_asyncio=True) | ||||
| 
 | ||||
|     with pytest.raises(tractor.RemoteActorError) as excinfo: | ||||
|         tractor.run(main, arbiter_addr=arb_addr) | ||||
|  |  | |||
|  | @ -164,16 +164,19 @@ def run_as_asyncio_guest( | |||
|     :) | ||||
|     """ | ||||
|     async def aio_main(trio_main): | ||||
| 
 | ||||
|         loop = asyncio.get_running_loop() | ||||
| 
 | ||||
|         trio_done_fut = asyncio.Future() | ||||
| 
 | ||||
|         def trio_done_callback(main_outcome): | ||||
| 
 | ||||
|             log.info(f"trio_main finished: {main_outcome!r}") | ||||
|             trio_done_fut.set_result(main_outcome) | ||||
| 
 | ||||
|         # start the infection: run trio on the asyncio loop in "guest mode" | ||||
|         log.info(f"Infecting asyncio process with {trio_main}") | ||||
| 
 | ||||
|         trio.lowlevel.start_guest_run( | ||||
|             trio_main, | ||||
|             run_sync_soon_threadsafe=loop.call_soon_threadsafe, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue