diff options
Diffstat (limited to 'ipc/ipdl/test/ipdl/error/race_OverlappingMultiOut.ipdl')
-rw-r--r-- | ipc/ipdl/test/ipdl/error/race_OverlappingMultiOut.ipdl | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ipc/ipdl/test/ipdl/error/race_OverlappingMultiOut.ipdl b/ipc/ipdl/test/ipdl/error/race_OverlappingMultiOut.ipdl new file mode 100644 index 000000000..8aa831842 --- /dev/null +++ b/ipc/ipdl/test/ipdl/error/race_OverlappingMultiOut.ipdl @@ -0,0 +1,35 @@ +protocol race_OverlappingMultiOut { +child: + async Msg1(); + async Msg1_(); + async __delete__(); suppressUndeleteableError(); + +parent: + async Msg2(); + async Msg2_(); + + +start state _: + send __delete__; + send suppressUndeleteableError goto S10; + + // *** ERROR: send/recv of Msg1/Msg2 in state S10 goes to overlapping + // sets { S11, S12 }, { S12, S13 } and thus can't be unidirectional +state S10: + send Msg1 goto S11 or S12; + recv Msg2 goto S12 or S13; + +state S11: + recv Msg2 goto S14; + +state S12: + send Msg1 goto S14; + recv Msg2 goto S14; + +state S13: + send Msg1 goto S14; + +state S14: + send Msg1 goto S14; + recv Msg2 goto S14; +}; |