docs: tweaks to better explain changelog race

new-serialization
David Wilson 5 years ago
parent 8d16f657ab
commit 01a1914a1f

@ -199,16 +199,17 @@ Core Library
descriptors belonging to unrelated streams. descriptors belonging to unrelated streams.
* `#533 <https://github.com/dw/mitogen/issues/533>`_: routing accounts for * `#533 <https://github.com/dw/mitogen/issues/533>`_: routing accounts for
a race between a parent sending a message to a child via an intermediary, a race between a parent (or cousin) sending a message to a child via an
where the child had recently disconnected, and ``DEL_ROUTE`` propagating from intermediary, where the child had recently disconnected, and
the intermediary to the parent, informing it that the child no longer exists. :data:`DEL_ROUTE <mitogen.core.DEL_ROUTE>` propagating from the intermediary
This condition is detected at the intermediary and a dead message is returned to the sender, informing it that the child no longer exists. This condition
to the parent. is detected at the intermediary and a dead message is returned to the sender.
Previously since the intermediary had already removed its route for the Previously since the intermediary had already removed its route for the
child, the *route messages upwards* rule would be triggered, causing the child, the *route messages upwards* rule would be triggered, causing the
message (with a privileged ``src_id``/``auth_id``) to be sent upstream, message (with a privileged :ref:`src_id/auth_id <stream-protocol>`) to be
resulting in a ``bad auth_id`` log message and a hang. sent upstream, resulting in a ``bad auth_id`` error logged at the first
upstream parent, and a possible hang due to a request message being dropped.
* `#586 <https://github.com/dw/mitogen/issues/586>`_: fix import of * `#586 <https://github.com/dw/mitogen/issues/586>`_: fix import of
:mod:`__main__` on later versions of Python 3 when running from the :mod:`__main__` on later versions of Python 3 when running from the

@ -434,8 +434,9 @@ also listen on the following handles:
Receives `target_id` integer from downstream, verifies a route exists to Receives `target_id` integer from downstream, verifies a route exists to
`target_id` via the stream on which the message was received, removes that `target_id` via the stream on which the message was received, removes that
route from its local table, then propagates the message upward towards its route from its local table, triggers the ``disconnect`` signal on any
own parent. :class:`mitogen.core.Context` instance in the local process, then
propagates the message upward towards its own parent.
.. currentmodule:: mitogen.core .. currentmodule:: mitogen.core
.. data:: DETACHING .. data:: DETACHING
@ -629,7 +630,8 @@ The `auth_id` field is separate from `src_id` in order to support granting
privilege to contexts that do not follow the tree's natural trust chain. This privilege to contexts that do not follow the tree's natural trust chain. This
supports cases where siblings are permitted to execute code on one another, or supports cases where siblings are permitted to execute code on one another, or
where isolated processes can connect to a listener and communicate with an where isolated processes can connect to a listener and communicate with an
already established established tree. already established established tree, such as where a :mod:`mitogen.unix`
client receives the same privilege as the process it connects to.
Differences Between Master And Child Brokers Differences Between Master And Child Brokers

Loading…
Cancel
Save