summaryrefslogtreecommitdiff
path: root/cpp/test/Glacier2/override/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Glacier2/override/Client.cpp')
-rw-r--r--cpp/test/Glacier2/override/Client.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/test/Glacier2/override/Client.cpp b/cpp/test/Glacier2/override/Client.cpp
index 443f18a5900..651cc31883b 100644
--- a/cpp/test/Glacier2/override/Client.cpp
+++ b/cpp/test/Glacier2/override/Client.cpp
@@ -187,7 +187,14 @@ CallbackClient::run(int, char**)
IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(200));
callbackReceiverImpl->activate();
test(callbackReceiverImpl->callbackWithPayloadOK(3) == 0);
- test(callbackReceiverImpl->callbackOK(1, 0) == 0);
+ remainingCallbacks = callbackReceiverImpl->callbackOK(1, 0);
+ // Unlikely but sometime we get more than just one callback if the flush
+ // occurs in the middle of our 5 callbacks.
+ test(remainingCallbacks <= 3);
+ if(remainingCallbacks > 0)
+ {
+ test(callbackReceiverImpl->callbackOK(remainingCallbacks, 0) == 0);
+ }
cout << "ok" << endl;
}