1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/ipc/ipdl/test/cxx/PTestHangs.ipdl Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,40 @@ 1.4 + 1.5 +namespace mozilla { 1.6 +namespace _ipdltest { 1.7 + 1.8 +intr protocol PTestHangs { 1.9 +both: 1.10 + intr StackFrame(); 1.11 + 1.12 +parent: 1.13 + async Nonce(); 1.14 + 1.15 +child: 1.16 + async Start(); 1.17 + intr Hang(); 1.18 + __delete__(); 1.19 + 1.20 + 1.21 +state START: 1.22 + send Start goto RACE; 1.23 + 1.24 +state RACE: 1.25 + recv Nonce goto RACE1; 1.26 + call StackFrame goto RACE2; 1.27 +state RACE1: 1.28 + call StackFrame goto FRAME2; 1.29 +state RACE2: 1.30 + recv Nonce goto FRAME2; 1.31 + 1.32 +// So as to test unwinding the RPC stack 1.33 +state FRAME2: answer StackFrame goto FRAME3; 1.34 +state FRAME3: call StackFrame goto FRAME4; 1.35 +state FRAME4: answer StackFrame goto HANG; 1.36 +state HANG: call Hang goto DEATH; 1.37 + 1.38 +state DEATH: 1.39 + send __delete__; 1.40 +}; 1.41 + 1.42 +} // namespace _ipdltest 1.43 +} // namespace mozilla