summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/ipdl/error/race_ViolateSameDirection.ipdl
blob: a1f964ec7c18c041bac654e5efe5c8a0930ae7b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
protocol race_ViolateSameDirection {
child:
    async Msg1();
    async Msg1_();
    async __delete__();
    async suppressUndeleteableError();
parent:
    async Msg2();
    async Msg2_();

    // *** ERROR: state S7 doesn't have all-same-direction
start state _:
    send __delete__;
    send suppressUndeleteableError goto S6;

state S6:
    send Msg1 goto S7;
    recv Msg2 goto S8;

state S7:
    recv Msg2 goto S9;
    send Msg1 goto S9;

state S8:
    send Msg1 goto S9;

state S9:
    send Msg1 goto S9;
    recv Msg2 goto S9;
};