Set _is_root runtime var in _main()
parent
285dea04ea
commit
d191d03179
|
@ -20,8 +20,8 @@ from ._state import current_actor
|
||||||
from . import _state
|
from . import _state
|
||||||
from ._exceptions import RemoteActorError, ModuleNotExposed
|
from ._exceptions import RemoteActorError, ModuleNotExposed
|
||||||
from ._debug import breakpoint, post_mortem
|
from ._debug import breakpoint, post_mortem
|
||||||
from . import msg
|
|
||||||
from . import _spawn
|
from . import _spawn
|
||||||
|
from . import msg
|
||||||
from . import to_asyncio
|
from . import to_asyncio
|
||||||
|
|
||||||
|
|
||||||
|
@ -62,16 +62,23 @@ async def _main(
|
||||||
"""
|
"""
|
||||||
logger = log.get_logger('tractor')
|
logger = log.get_logger('tractor')
|
||||||
|
|
||||||
|
# mark top most level process as root actor
|
||||||
|
_state._runtime_vars['_is_root'] = True
|
||||||
|
|
||||||
if start_method is not None:
|
if start_method is not None:
|
||||||
_spawn.try_set_start_method(start_method)
|
_spawn.try_set_start_method(start_method)
|
||||||
|
|
||||||
if debug_mode and _spawn._spawn_method == 'trio':
|
if debug_mode and _spawn._spawn_method == 'trio':
|
||||||
_state._runtime_vars['_debug_mode'] = True
|
_state._runtime_vars['_debug_mode'] = True
|
||||||
|
|
||||||
# expose internal debug module to every actor allowing
|
# expose internal debug module to every actor allowing
|
||||||
# for use of ``await tractor.breakpoint()``
|
# for use of ``await tractor.breakpoint()``
|
||||||
kwargs.setdefault('rpc_module_paths', []).append('tractor._debug')
|
kwargs.setdefault('rpc_module_paths', []).append('tractor._debug')
|
||||||
|
|
||||||
elif debug_mode:
|
elif debug_mode:
|
||||||
raise RuntimeError("Debug mode is only supported for the `trio` backend!")
|
raise RuntimeError(
|
||||||
|
"Debug mode is only supported for the `trio` backend!"
|
||||||
|
)
|
||||||
|
|
||||||
main = partial(async_fn, *args)
|
main = partial(async_fn, *args)
|
||||||
|
|
||||||
|
@ -139,9 +146,6 @@ def run(
|
||||||
|
|
||||||
This is tractor's main entry and the start point for any async actor.
|
This is tractor's main entry and the start point for any async actor.
|
||||||
"""
|
"""
|
||||||
# mark top most level process as root actor
|
|
||||||
_state._runtime_vars['_is_root'] = True
|
|
||||||
|
|
||||||
return trio.run(
|
return trio.run(
|
||||||
partial(
|
partial(
|
||||||
# our entry
|
# our entry
|
||||||
|
|
Loading…
Reference in New Issue