http://bugs.orocos.org/show_bug.cgi?id=974
Summary: SlaveActivity can't handle changing master activities
Product: Toolchain
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Severity: major
Priority: P3
Component: RTT
AssignedTo: orocos-dev [..] ...
ReportedBy: peter [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0
If the activity of a master component is changed after a slave activity has
been created, the slave will crash since the master pointer points to
deallocated data.
A more logical thing to do in each slave would be to keep track of the master
TaskContext* or ExecutionEngine*, which does not change when you change
activities. You'd still need to take care that the slaves components are
unloaded before the master component, or you'd have similar behavior/crashes.
In that situation, the deployer should probably keep track of such
dependencies.
The proposed change would break the API, or we'd have to dynamic_cast the
RunnableInterface* to an ExecutionEngine* in order to keep the API stable...