summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/cxx/PTestShutdown.ipdl
blob: e57defa46a3cd4ad2286375381b6034fbaf92950 (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
include protocol PTestShutdownSub;

include "mozilla/_ipdltest/TestShutdown.h";

namespace mozilla {
namespace _ipdltest {

[ManualDealloc, ChildImpl="TestShutdownChild", ParentImpl="TestShutdownParent"]
intr protocol PTestShutdown {
    manages PTestShutdownSub;

child:
    async Start();

parent:
    // NB: we test deletion and crashing only, not shutdown, because
    // crashing is the same code path as shutdown, and other IPDL unit
    // tests check shutdown semantics
    async PTestShutdownSub(bool expectCrash);

    // Used to synchronize between parent and child, to avoid races
    // around flushing socket write queues
    sync Sync();

    async __delete__();
};

} // namespace _ipdltest
} // namespace mozilla