diff options
Diffstat (limited to 'ipc/ipdl/test/cxx/PTestShutdown.ipdl')
-rw-r--r-- | ipc/ipdl/test/cxx/PTestShutdown.ipdl | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ipc/ipdl/test/cxx/PTestShutdown.ipdl b/ipc/ipdl/test/cxx/PTestShutdown.ipdl new file mode 100644 index 000000000..e4d8d0dbe --- /dev/null +++ b/ipc/ipdl/test/cxx/PTestShutdown.ipdl @@ -0,0 +1,37 @@ +include protocol PTestShutdownSub; + +namespace mozilla { +namespace _ipdltest { + +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__(); + + +state START: + send Start goto TESTING; + +state TESTING: + recv PTestShutdownSub goto TESTING; + recv Sync goto DYING; + +state DYING: + recv __delete__; +}; + +} // namespace _ipdltest +} // namespace mozilla |