2010-01-21 18:04:11 -08:00
|
|
|
namespace mozilla {
|
|
|
|
namespace _ipdltest {
|
|
|
|
|
|
|
|
rpc protocol PTestRacyRPCReplies {
|
|
|
|
child:
|
2010-02-24 13:59:24 -08:00
|
|
|
rpc R_() returns (int replyNum);
|
|
|
|
async _A();
|
|
|
|
async ChildTest();
|
2010-01-21 18:04:11 -08:00
|
|
|
async __delete__();
|
|
|
|
|
|
|
|
parent:
|
2010-02-24 13:59:24 -08:00
|
|
|
rpc _R() returns (int replyNum);
|
|
|
|
async A_();
|
2010-01-21 18:04:11 -08:00
|
|
|
|
2010-02-24 13:59:24 -08:00
|
|
|
state PARENT_START:
|
|
|
|
call R_ goto PARENT_S1;
|
2010-01-21 18:04:11 -08:00
|
|
|
|
2010-02-24 13:59:24 -08:00
|
|
|
state PARENT_S1:
|
|
|
|
recv A_ goto PARENT_S2;
|
2010-01-21 18:04:11 -08:00
|
|
|
|
2010-02-24 13:59:24 -08:00
|
|
|
state PARENT_S2:
|
|
|
|
call R_ goto CHILD_TEST;
|
2010-01-21 18:04:11 -08:00
|
|
|
|
2010-02-24 13:59:24 -08:00
|
|
|
state CHILD_TEST:
|
|
|
|
send ChildTest goto CHILD_START;
|
|
|
|
|
|
|
|
state CHILD_START:
|
|
|
|
answer _R goto CHILD_S1;
|
|
|
|
|
|
|
|
state CHILD_S1:
|
|
|
|
send _A goto CHILD_S2;
|
|
|
|
|
|
|
|
state CHILD_S2:
|
|
|
|
answer _R goto DYING;
|
2010-01-21 18:04:11 -08:00
|
|
|
|
|
|
|
state DYING:
|
|
|
|
send __delete__;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace _ipdltest
|
|
|
|
} // namespace mozilla
|