summaryrefslogtreecommitdiffstats
path: root/tdm
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-04-22 21:41:57 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-04-22 21:41:57 -0500
commitedf3004ec3bd7bf7d2d1c3074281ce22188f3e35 (patch)
tree87b6c6d4a732beda0f8777fcade7df18e8825e3b /tdm
parentf003ff9cd0cc743c13cb0b15e03e2c09cc53e8c1 (diff)
downloadtdebase-edf3004ec3bd7bf7d2d1c3074281ce22188f3e35.tar.gz
tdebase-edf3004ec3bd7bf7d2d1c3074281ce22188f3e35.zip
Fix secondary thread termination
This resolves the remainder of Bug 1467
Diffstat (limited to 'tdm')
-rw-r--r--tdm/kfrontend/kgreeter.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/tdm/kfrontend/kgreeter.cpp b/tdm/kfrontend/kgreeter.cpp
index 2111a1e9d..9bcf60eb5 100644
--- a/tdm/kfrontend/kgreeter.cpp
+++ b/tdm/kfrontend/kgreeter.cpp
@@ -1259,6 +1259,7 @@ void ControlPipeHandlerObject::run(void) {
while (1) {
if ((mKGreeterParent && (mKGreeterParent->closingDown)) || (mSAKDlgParent && (mSAKDlgParent->closingDown))) {
::unlink(mPipeFilename.ascii());
+ TQApplication::eventLoop()->exit(-1);
return;
}
@@ -1297,6 +1298,7 @@ void ControlPipeHandlerObject::run(void) {
if ((file_mode != 600) || (buffer.st_uid != 0) || (buffer.st_gid != 0)) {
::unlink(mPipeFilename.ascii());
printf("[WARNING] Possible security breach! Please check permissions on " FIFO_DIR " (must be 600 and owned by root/root, got %d %d/%d). Not listening for login credentials on remote control socket.\n", file_mode, buffer.st_uid, buffer.st_gid); fflush(stdout);
+ TQApplication::eventLoop()->exit(-1);
return;
}
}
@@ -1327,6 +1329,7 @@ void ControlPipeHandlerObject::run(void) {
}
if ((mKGreeterParent && (mKGreeterParent->closingDown)) || (mSAKDlgParent && (mSAKDlgParent->closingDown))) {
::unlink(mPipeFilename.ascii());
+ TQApplication::eventLoop()->exit(-1);
return;
}
@@ -1338,10 +1341,12 @@ void ControlPipeHandlerObject::run(void) {
}
else {
::unlink(mPipeFilename.ascii());
+ TQApplication::eventLoop()->exit(-1);
return;
}
}
}
+ TQApplication::eventLoop()->exit(-1);
}
#include "kgreeter.moc"