Menu

#426 Mark safe statements to avoid try-catch-blocks for signal handling  Edit

compiler
open
nobody
None
2024-06-10
2024-05-24
No

the statement ON sig RST(errno);causes that all other statements will become wrapped in a try-catch-block.
This makes the C++ code very ugly.
The wrapping is not required, if a statement never induces a signal, like

  • GOTO
  • x=1;
  • x=y, if they have the same type, or x has a larger type
  • IF x > 1 THEN
  • ON ...
  • REQUEST und RELEASE ohne REF sema, SignalOverflow wird InternalSignal

This should be solved before the static deadlock detection could be continued with the integration

Signalhandler exits with

  • GOTO, next node defined
  • INDUCE other Signal --> all other signal handlers
  • other: TASK/PROC END

It would be nice to know the real signals. This would allow to reduce the CFG by othr steps. This is only possible after the run of the IMC. The export of the CFG should mark the transition if they relate to a signal. In case of usage of REF signal, there is no further reduction possible.

Maybe the SDD should become switched OFF in case of useage of REF signal, as this occurs already with use of REF TASK.

Discussion

  • Rainer Müller

    Rainer Müller - 2024-05-31
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -6,5 +6,7 @@
     * x=1;
     * x=y, if they have the same type, or x has a larger type
     * IF x > 1  THEN
    +* ON ...
     * ...
    
    +This should be solved before the static deadlock detection could be continued with the integration
    
     
  • Rainer Müller

    Rainer Müller - 2024-06-10
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -7,6 +7,16 @@
     * x=y, if they have the same type, or x has a larger type
     * IF x > 1  THEN
     * ON ...
    -* ...
    +* REQUEST und RELEASE ohne REF sema, SignalOverflow wird InternalSignal
    
     This should be solved before the static deadlock detection could be continued with the integration
    +
    +Signalhandler exits with 
    +
    +* GOTO, next node defined
    +* INDUCE other Signal --> all other signal handlers
    +* other: TASK/PROC END
    +
    +It would be nice to know the real signals. This would allow to reduce the CFG by othr steps. This is only possible after the run of the IMC. The export of the CFG should mark the transition if they relate to a signal. In case of usage of REF signal, there is no further reduction possible.
    +
    +Maybe the SDD should become switched OFF in case of useage of REF signal, as this occurs already with use of REF TASK.
    
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB