diff -r 000000000000 -r 6474c204b198 ipc/ipdl/test/cxx/PTestShutdown.ipdl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipc/ipdl/test/cxx/PTestShutdown.ipdl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,37 @@ +include protocol PTestShutdownSub; + +namespace mozilla { +namespace _ipdltest { + +intr protocol PTestShutdown { + manages PTestShutdownSub; + +child: + 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 + PTestShutdownSub(bool expectCrash); + + // Used to synchronize between parent and child, to avoid races + // around flushing socket write queues + sync Sync(); + + __delete__(); + + +state START: + send Start goto TESTING; + +state TESTING: + recv PTestShutdownSub goto TESTING; + recv Sync goto DYING; + +state DYING: + recv __delete__; +}; + +} // namespace _ipdltest +} // namespace mozilla