michael@0: // See bug 538586: if the top-level protocol's actor is deleted before michael@0: // the "connection error" notification comes in from the IO thread, michael@0: // IPDL teardown never occurs, even if Channel::Close() is called michael@0: // after the error. michael@0: michael@0: namespace mozilla { michael@0: namespace _ipdltest { michael@0: michael@0: // NB: needs to be RPC so that the parent blocks on the child's crash. michael@0: intr protocol PTestCrashCleanup { michael@0: child: michael@0: intr DIEDIEDIE(); michael@0: __delete__(); michael@0: michael@0: state ALIVE: michael@0: call DIEDIEDIE goto CRASH; michael@0: state CRASH: michael@0: send __delete__; michael@0: }; michael@0: michael@0: } michael@0: }