summaryrefslogtreecommitdiff
path: root/shell/source/unix/exec/shellexec.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'shell/source/unix/exec/shellexec.cxx')
-rw-r--r--shell/source/unix/exec/shellexec.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx
index 1d52eab31618..b9c0b2caae40 100644
--- a/shell/source/unix/exec/shellexec.cxx
+++ b/shell/source/unix/exec/shellexec.cxx
@@ -282,7 +282,13 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar
pDesktopLaunch = NULL;
}
- OString cmd = aBuffer.makeStringAndClear();
+ OString cmd =
+#ifdef LINUX
+ // avoid blocking (call it in background)
+ OStringBuffer().append( "( " ).append( aBuffer ).append( " ) &" ).makeStringAndClear();
+#else
+ aBuffer.makeStringAndClear();
+#endif
if ( 0 != pclose(popen(cmd.getStr(), "w")) )
{
int nerr = errno;