diff --git a/kdm/kfrontend/kgapp.cpp b/kdm/kfrontend/kgapp.cpp index b9461dbdf..83d88c64a 100644 --- a/kdm/kfrontend/kgapp.cpp +++ b/kdm/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 3cbc3d81a..ec23dd181 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