ipc/ipdl/test/cxx/PTestShutdown.ipdl

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

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

mercurial