summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/cxx/PTestRacyInterruptReplies.ipdl
blob: 56e700b85c57105b1ec445c1b65bc08dbe65ab55 (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
31
32
33
34
35
36
37
38
39
40
41
namespace mozilla {
namespace _ipdltest {

intr protocol PTestRacyInterruptReplies {
child:
    intr R_() returns (int replyNum);
    async _A();
    async ChildTest();
    async __delete__();

parent:
    intr _R() returns (int replyNum);
    async A_();

state PARENT_START:
    call R_ goto PARENT_S1;

state PARENT_S1:
    recv A_ goto PARENT_S2;

state PARENT_S2:
    call R_ goto CHILD_TEST;

state CHILD_TEST:
    send ChildTest goto CHILD_START;

state CHILD_START:
    answer _R goto CHILD_S1;

state CHILD_S1:
    send _A goto CHILD_S2;

state CHILD_S2:
    answer _R goto DYING;

state DYING:
    send __delete__;
};

} // namespace _ipdltest
} // namespace mozilla