2.11,2.12: the use of the blocking keyword can lead to deadlock
In a blocking context calling a foreign component can deadlock. This requires more investigation (contact Michael & Johan at TFS).
In a blocking context calling a foreign component can deadlock. This requires more investigation (contact Michael & Johan at TFS).
changed the description
changed title from 2.12: the use of the blocking keyword can lead to deadlock to 2.11,2.12: the use of the blocking keyword can lead to deadlock
This issue collects the blocking related observations:
A foreign generated skeleton wrapped around a Dezyne generated component or system leads to triggering a collateral_block invocation in the runtime when the performs_flush boolean is set to false (which it is the default in skeletons).
A second event on an already blocked port does not lead to a collateral_block invocation, when blocking is used by a component that has its provides port exposed on a thread safe shell (captured by test/all/collateral_blocking_shell2).
A collateral_release on a blocking release leads to premature continuation of previously collateral_block-ed stacks resulting in incorrect order of execution.
Fixed in 2.13.0
closed