diff options
-rw-r--r-- | desktop/source/deployment/misc/dp_misc.cxx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx index 2f8eb55c679c..17c4fb2a3e44 100644 --- a/desktop/source/deployment/misc/dp_misc.cxx +++ b/desktop/source/deployment/misc/dp_misc.cxx @@ -444,7 +444,7 @@ Reference<XInterface> resolveUnoURL( Reference<bridge::XUnoUrlResolver> xUnoUrlResolver( bridge::UnoUrlResolver::create( xLocalContext ) ); - for (;;) + for (int i = 0; i <= 20; ++i) // 10 seconds { if (abortChannel != 0 && abortChannel->isAborted()) { throw ucb::CommandAbortedException( @@ -454,10 +454,15 @@ Reference<XInterface> resolveUnoURL( return xUnoUrlResolver->resolve( connectString ); } catch (const connection::NoConnectException &) { - TimeValue tv = { 0 /* secs */, 500000000 /* nanosecs */ }; - ::osl::Thread::wait( tv ); + if (i < 20) + { + TimeValue tv = { 0 /* secs */, 500000000 /* nanosecs */ }; + ::osl::Thread::wait( tv ); + } + else throw; } } + return 0; // warning C4715 } #ifdef WNT |