ipc/ipdl/test/cxx/PTestHangs.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
michael@0 2 namespace mozilla {
michael@0 3 namespace _ipdltest {
michael@0 4
michael@0 5 intr protocol PTestHangs {
michael@0 6 both:
michael@0 7 intr StackFrame();
michael@0 8
michael@0 9 parent:
michael@0 10 async Nonce();
michael@0 11
michael@0 12 child:
michael@0 13 async Start();
michael@0 14 intr Hang();
michael@0 15 __delete__();
michael@0 16
michael@0 17
michael@0 18 state START:
michael@0 19 send Start goto RACE;
michael@0 20
michael@0 21 state RACE:
michael@0 22 recv Nonce goto RACE1;
michael@0 23 call StackFrame goto RACE2;
michael@0 24 state RACE1:
michael@0 25 call StackFrame goto FRAME2;
michael@0 26 state RACE2:
michael@0 27 recv Nonce goto FRAME2;
michael@0 28
michael@0 29 // So as to test unwinding the RPC stack
michael@0 30 state FRAME2: answer StackFrame goto FRAME3;
michael@0 31 state FRAME3: call StackFrame goto FRAME4;
michael@0 32 state FRAME4: answer StackFrame goto HANG;
michael@0 33 state HANG: call Hang goto DEATH;
michael@0 34
michael@0 35 state DEATH:
michael@0 36 send __delete__;
michael@0 37 };
michael@0 38
michael@0 39 } // namespace _ipdltest
michael@0 40 } // namespace mozilla

mercurial