|
1 include protocol PTestShutdownSub; |
|
2 |
|
3 namespace mozilla { |
|
4 namespace _ipdltest { |
|
5 |
|
6 intr protocol PTestShutdown { |
|
7 manages PTestShutdownSub; |
|
8 |
|
9 child: |
|
10 Start(); |
|
11 |
|
12 parent: |
|
13 // NB: we test deletion and crashing only, not shutdown, because |
|
14 // crashing is the same code path as shutdown, and other IPDL unit |
|
15 // tests check shutdown semantics |
|
16 PTestShutdownSub(bool expectCrash); |
|
17 |
|
18 // Used to synchronize between parent and child, to avoid races |
|
19 // around flushing socket write queues |
|
20 sync Sync(); |
|
21 |
|
22 __delete__(); |
|
23 |
|
24 |
|
25 state START: |
|
26 send Start goto TESTING; |
|
27 |
|
28 state TESTING: |
|
29 recv PTestShutdownSub goto TESTING; |
|
30 recv Sync goto DYING; |
|
31 |
|
32 state DYING: |
|
33 recv __delete__; |
|
34 }; |
|
35 |
|
36 } // namespace _ipdltest |
|
37 } // namespace mozilla |