Lines 2533-2542
Link Here
|
2533 |
{ |
2533 |
{ |
2534 |
RTL_LOGFILE_PRODUCT_CONTEXT( aLog, "PERFORMANCE - DesktopOpenClients_Impl()" ); |
2534 |
RTL_LOGFILE_PRODUCT_CONTEXT( aLog, "PERFORMANCE - DesktopOpenClients_Impl()" ); |
2535 |
|
2535 |
|
2536 |
OpenClients(); |
2536 |
// #114963# |
|
|
2537 |
// Enable IPC thread before OpenClients |
2538 |
// |
2539 |
// This is because it is possible for another client to connect during the OpenClients() call. |
2540 |
// This can happen on Windows when document is printed (not opened) and another client wants to print (when printing multiple documents). |
2541 |
// If the IPC thread is enabled after OpenClients, then the client will not be processed because the application will exit after printing. i.e OfficeIPCThread::AreRequestsPending() will always return false |
2542 |
// |
2543 |
// ALSO: |
2544 |
// |
2545 |
// Multiple clients may request simultaneous connections. |
2546 |
// When this server closes down it attempts to recreate the pipe (in DisableOfficeIPCThread()). |
2547 |
// It's possible that the client has a pending connection request. |
2548 |
// When the IPC thread is not running, this connection locks (because maPipe.accept()) is never called |
2549 |
OfficeIPCThread::SetReady(); |
2550 |
OpenClients(); |
2537 |
|
2551 |
|
2538 |
OfficeIPCThread::SetReady(); |
|
|
2539 |
|
2540 |
// CloseStartupScreen(); |
2552 |
// CloseStartupScreen(); |
2541 |
CloseSplashScreen(); |
2553 |
CloseSplashScreen(); |
2542 |
CheckFirstRun( ); |
2554 |
CheckFirstRun( ); |