summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp')
-rw-r--r--ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp94
1 files changed, 0 insertions, 94 deletions
diff --git a/ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp b/ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp
deleted file mode 100644
index cda950b1a1..0000000000
--- a/ipc/ipdl/test/cxx/TestRacyInterruptReplies.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-#include "TestRacyInterruptReplies.h"
-
-#include "IPDLUnitTests.h" // fail etc.
-
-namespace mozilla {
-namespace _ipdltest {
-
-//-----------------------------------------------------------------------------
-// parent
-
-TestRacyInterruptRepliesParent::TestRacyInterruptRepliesParent()
- : mReplyNum(0) {
- MOZ_COUNT_CTOR(TestRacyInterruptRepliesParent);
-}
-
-TestRacyInterruptRepliesParent::~TestRacyInterruptRepliesParent() {
- MOZ_COUNT_DTOR(TestRacyInterruptRepliesParent);
-}
-
-void TestRacyInterruptRepliesParent::Main() {
- int replyNum = -1;
- if (!CallR_(&replyNum)) fail("calling R()");
-
- if (1 != replyNum) fail("this should have been the first reply to R()");
-
- if (!SendChildTest()) fail("sending ChildStart");
-}
-
-mozilla::ipc::IPCResult TestRacyInterruptRepliesParent::RecvA_() {
- int replyNum = -1;
- // this R() call races with the reply being generated by the other
- // side to the R() call from Main(). This is a pretty nasty edge
- // case for which one could argue we're breaking in-order message
- // delivery, since this side will process the second reply to R()
- // before the first.
- if (!CallR_(&replyNum)) fail("calling R()");
-
- if (2 != replyNum) fail("this should have been the second reply to R()");
-
- return IPC_OK();
-}
-
-mozilla::ipc::IPCResult TestRacyInterruptRepliesParent::Answer_R(
- int* replyNum) {
- *replyNum = ++mReplyNum;
-
- if (1 == *replyNum)
- if (!Send_A()) fail("sending _A()");
-
- return IPC_OK();
-}
-
-//-----------------------------------------------------------------------------
-// child
-
-TestRacyInterruptRepliesChild::TestRacyInterruptRepliesChild() : mReplyNum(0) {
- MOZ_COUNT_CTOR(TestRacyInterruptRepliesChild);
-}
-
-TestRacyInterruptRepliesChild::~TestRacyInterruptRepliesChild() {
- MOZ_COUNT_DTOR(TestRacyInterruptRepliesChild);
-}
-
-mozilla::ipc::IPCResult TestRacyInterruptRepliesChild::AnswerR_(int* replyNum) {
- *replyNum = ++mReplyNum;
-
- if (1 == *replyNum) SendA_();
-
- return IPC_OK();
-}
-
-mozilla::ipc::IPCResult TestRacyInterruptRepliesChild::RecvChildTest() {
- int replyNum = -1;
- if (!Call_R(&replyNum)) fail("calling R()");
-
- if (1 != replyNum) fail("this should have been the first reply to R()");
-
- Close();
-
- return IPC_OK();
-}
-
-mozilla::ipc::IPCResult TestRacyInterruptRepliesChild::Recv_A() {
- int replyNum = -1;
-
- if (!Call_R(&replyNum)) fail("calling _R()");
-
- if (2 != replyNum) fail("this should have been the second reply to R()");
-
- return IPC_OK();
-}
-
-} // namespace _ipdltest
-} // namespace mozilla