Fix python actor event group callback routing - #316
Merged
Conversation
Signed-off-by: Ted Waine <ted.waine@gmail.com>
tedwaine
merged commit Jul 29, 2026
271c87c
into
AcademySoftwareFoundation:develop
3 of 4 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A small fix to correct a longstanding problem where setting up an event callback to watch event messages on a certain actor in Python does not work correctly.
In py_context.cpp a watcher actor subscribes to the desires event group and receives messages. It uses the address of the event group to register an ID for the python callback method to run when an event message is incoming from the event group. The problem was that the event messages appear to originate from the PARENT of the event_group through which events are broadcast, so when it tries to match up the sender of the message with the event_group actor address to work out which python methods to execute it can't do it.
Now when we set-up the routing we get the parent actor address of the event_group and use this to identify which python callbacks should be executed.