2010-04-26 18:11:46 -07:00
|
|
|
include protocol PTestShutdownSub;
|
2009-12-03 00:16:28 -08:00
|
|
|
|
|
|
|
namespace mozilla {
|
|
|
|
namespace _ipdltest {
|
|
|
|
|
2010-01-15 13:15:51 -08:00
|
|
|
rpc protocol PTestShutdown {
|
2009-12-03 00:16:28 -08:00
|
|
|
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);
|
|
|
|
|
2010-01-13 19:08:35 -08:00
|
|
|
// Used to synchronize between parent and child, to avoid races
|
2009-12-03 00:16:28 -08:00
|
|
|
// 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
|