summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/cxx/PTestInterruptShutdownRace.ipdl
blob: 10b377487a759255c544ca077b4a9f36e6a9f466 (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
namespace mozilla {
namespace _ipdltest {

intr protocol PTestInterruptShutdownRace {
parent:
    sync StartDeath();
    async Orphan();

child:
    async Start();
    intr Exit();
    async __delete__();

state START:
    send Start goto START_DEATH;

state START_DEATH:
    recv StartDeath goto EXITING;

state EXITING:
    recv Orphan goto QUITTING1;
    call Exit goto QUITTING2;

state QUITTING1:
    call Exit goto DEAD;
state QUITTING2:
    recv Orphan goto DEAD;

state DEAD:
    send __delete__;
};

} // namespace _ipdltest
} // namespace mozilla