If REF on task, sema, bolt are used, the static deadlock detection may not work, since we have no analysis of the dataflows. In this case, the SDD becomes switched off emitting a warning.
If signal handler are used, the complexity of the control flow graph will explode, since there is no knowledge about the possible signals in the statements and the concrete relation between the signals and the signal handlers, since the mapping of the user defined signal becomes resolved in the IMC.
If only signal handling by setting an error variable are used, the situation simplifies.
Proposal:
If static deadlock detection is requested, all signal handlers are disabled with a warning to get a comprehensive global control flow graph.
Anonymous
Another approach would be to assume that signal handlers are only used to treat execution problems and lead to a clean final situation in a procedure or task. That is the best way to use signals
Example:
In this case we can ignore all signal handlers for the static deadlock detection and assume that no signal is ever emitted.