-
Notifications
You must be signed in to change notification settings - Fork 80
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix default event port behavior along with FileDescriptorActivity
With the introduction of the work() method, which allowed to be more precise on what gets called in which condition, an event port under FileDescriptorActivity would not make updateHook get called anymore. This broke the Rock workflow with file descriptor activities. (Un)fortunately, the effect has been subtle enough to not be noticed readily. Or people started deploying tasks under the normal Activity where before it would work with the FDA (I'm guilty of that). This is a rather convoluted code path (the characters in the play are a FileDescriptorActivity 'FDA', ExecutionEngine 'EE' and a TaskContext 'TC' - the port signal calls FDA::trigger() - FDA::trigger() wakes-up the FDA loop, which calls EE::work(Trigger) - EE::work(Trigger) calls EE::processPortCallbacks but NOT EE::processHooks (expected from the work() refactoring) At that point, we have to remember that TC::addEventPort registers a port callback that by default calls activity->trigger(). The comment at that point in the code itself says "default schedules an updateHook" (which we're indeed expecting with a FDA) - so, EE::processPortCallbacks in the end calls TC::trigger - which, by default calls FDA::timeout And FDA::timeout() was not implemented.
- Loading branch information
Showing
3 changed files
with
46 additions
and
7 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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