summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tdm/kfrontend/kgapp.cpp3
-rw-r--r--tsak/main.cpp3
2 files changed, 5 insertions, 1 deletions
diff --git a/tdm/kfrontend/kgapp.cpp b/tdm/kfrontend/kgapp.cpp
index e35f16d0b..5064d88f0 100644
--- a/tdm/kfrontend/kgapp.cpp
+++ b/tdm/kfrontend/kgapp.cpp
@@ -196,10 +196,11 @@ kg_main( const char *argv0 )
if (trinity_desktop_lock_use_sak) {
tsak = new KProcess;
*tsak << TQCString( argv0, strrchr( argv0, '/' ) - argv0 + 2 ) + "tsak";
- tsak->start(KProcess::Block);
+ tsak->start(KProcess::Block, KProcess::AllOutput);
}
if (tsak) {
tsak->closeStdin();
+ tsak->closeStdout();
tsak->detach();
delete tsak;
}
diff --git a/tsak/main.cpp b/tsak/main.cpp
index 8397ea261..fe8373182 100644
--- a/tsak/main.cpp
+++ b/tsak/main.cpp
@@ -357,6 +357,9 @@ int main (int argc, char *argv[])
int current_keyboard;
bool can_proceed;
+ // Ignore SIGPIPE
+ signal(SIGPIPE, SIG_IGN);
+
for (i=0; i<MAX_KEYBOARDS; i++) {
child_pids[i] = 0;
}