forked from goodboy/tractor
Wait on proc before killing stdio
parent
efde3a5773
commit
d3acb8d061
|
@ -25,7 +25,7 @@ except ImportError:
|
|||
from multiprocessing import forkserver # type: ignore
|
||||
from typing import Tuple
|
||||
|
||||
from . import _forkserver_override, _child
|
||||
from . import _forkserver_override
|
||||
from ._state import current_actor
|
||||
from .log import get_logger
|
||||
from ._portal import Portal
|
||||
|
@ -122,6 +122,7 @@ async def exhaust_portal(
|
|||
# we reraise in the parent task via a ``trio.MultiError``
|
||||
return err
|
||||
else:
|
||||
log.debug(f"Returning final result: {final}")
|
||||
return final
|
||||
|
||||
|
||||
|
@ -227,7 +228,10 @@ async def new_proc(
|
|||
cancel_scope = await nursery.start(
|
||||
cancel_on_completion, portal, subactor, errors)
|
||||
|
||||
# run_in_process blocks here until process is complete
|
||||
# Wait for proc termination but **dont'** yet call
|
||||
# ``trio.Process.__aexit__()`` (it tears down stdio
|
||||
# which will kill any waiting remote pdb trace).
|
||||
await proc.wait()
|
||||
else:
|
||||
# `multiprocessing`
|
||||
assert _ctx
|
||||
|
|
Loading…
Reference in New Issue