gecko/ipc/ipdl/test/cxx/PTestShutdown.ipdl

38 lines
766 B
Plaintext

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