summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/Ice/Outgoing.cpp2
-rw-r--r--cpp/test/Ice/timeout/AllTests.cpp6
2 files changed, 4 insertions, 4 deletions
diff --git a/cpp/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp
index ee9464c28a8..9589f724f43 100644
--- a/cpp/src/Ice/Outgoing.cpp
+++ b/cpp/src/Ice/Outgoing.cpp
@@ -668,7 +668,7 @@ FlushBatch::invoke()
// In this case, the exception should be set on the Outgoing.
//
Monitor<Mutex>::Lock sync(_monitor);
- while(!_exception.get())
+ while(!_exception.get() && !_sent)
{
_monitor.wait();
}
diff --git a/cpp/test/Ice/timeout/AllTests.cpp b/cpp/test/Ice/timeout/AllTests.cpp
index a592805e4cc..0558147b65c 100644
--- a/cpp/test/Ice/timeout/AllTests.cpp
+++ b/cpp/test/Ice/timeout/AllTests.cpp
@@ -399,7 +399,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
timeout = timeout->ice_invocationTimeout(100);
try
{
- timeout->sleep(150);
+ timeout->sleep(300);
test(false);
}
catch(const Ice::InvocationTimeoutException&)
@@ -420,7 +420,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
batchTimeout->ice_ping();
batchTimeout->ice_ping();
- timeout->ice_invocationTimeout(-1)->begin_sleep(150); // Keep the server thread pool busy.
+ timeout->ice_invocationTimeout(-1)->begin_sleep(300); // Keep the server thread pool busy.
try
{
batchTimeout->ice_flushBatchRequests();
@@ -434,7 +434,7 @@ allTests(const Ice::CommunicatorPtr& communicator)
batchTimeout->ice_ping();
batchTimeout->ice_ping();
- timeout->ice_invocationTimeout(-1)->begin_sleep(150); // Keep the server thread pool busy.
+ timeout->ice_invocationTimeout(-1)->begin_sleep(300); // Keep the server thread pool busy.
try
{
batchTimeout->end_ice_flushBatchRequests(batchTimeout->begin_ice_flushBatchRequests());