diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-09-06 12:43:54 +0200 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-09-10 11:02:44 +0000 |
commit | da329b8bb04f5d6a5c89afb7f083c7de679d5691 (patch) | |
tree | 728b3411f61c59e5f685804264cb4fdb4662a9bc /desktop | |
parent | b87abdf142d23952f83bae0291854e71bf5534da (diff) |
deb#681185: wait for InternalIPC::ProcessingDone in oosplash
Change-Id: I9606ec34ad0d8d24dca71d060bf5e1d37152903c
(cherry picked from commit 5c804dce946a928adcaf97533f5345b33e688ff5)
Reviewed-on: https://gerrit.libreoffice.org/569
Reviewed-by: Michael Meeks <michael.meeks@suse.com>
Tested-by: Michael Meeks <michael.meeks@suse.com>
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/unx/source/start.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c index d1a09a7efd7b..8fe4774ef504 100644 --- a/desktop/unx/source/start.c +++ b/desktop/unx/source/start.c @@ -512,6 +512,17 @@ send_args( int fd, rtl_uString *pCwdPath ) nLen = rtl_string_getLength( pOut ) + 1; bResult = ( write( fd, rtl_string_getStr( pOut ), nLen ) == (ssize_t) nLen ); + if ( bResult ) + { + char resp[ strlen( "InternalIPC::ProcessingDone" ) ]; + ssize_t n = read( fd, resp, SAL_N_ELEMENTS( resp ) ); + bResult = n == (ssize_t) SAL_N_ELEMENTS( resp ) + && (memcmp( + resp, "InternalIPC::ProcessingDone", + SAL_N_ELEMENTS( resp ) ) + == 0); + } + /* cleanup */ rtl_uString_release( pEscapedCwdPath ); rtl_uString_release( pBuffer ); |