diff options
author | Timothy Pearson <[email protected]> | 2012-03-03 15:26:35 -0600 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2012-03-03 15:26:35 -0600 |
commit | 5486d8e2a8ed86dc1fa421a46b4e3cd8b796e1ea (patch) | |
tree | 3546adc4636298ba339a0fc4cbbe2f89e114f7cd /tdm/kfrontend/kgreeter.cpp | |
parent | 9e3f8a7f0c9f2ed1125c717f5374aaf8d4ec225e (diff) | |
download | tdebase-5486d8e2a8ed86dc1fa421a46b4e3cd8b796e1ea.tar.gz tdebase-5486d8e2a8ed86dc1fa421a46b4e3cd8b796e1ea.zip |
Fix high tdm CPU usage when the SAK is enabled
This closes Bug 690
Diffstat (limited to 'tdm/kfrontend/kgreeter.cpp')
-rw-r--r-- | tdm/kfrontend/kgreeter.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tdm/kfrontend/kgreeter.cpp b/tdm/kfrontend/kgreeter.cpp index 717d2549f..97c6f2588 100644 --- a/tdm/kfrontend/kgreeter.cpp +++ b/tdm/kfrontend/kgreeter.cpp @@ -83,6 +83,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include <sys/time.h> #include <termios.h> #include <signal.h> +#include <libgen.h> #include <X11/Xlib.h> @@ -250,6 +251,13 @@ void KGreeter::handleInputPipe(void) { umask(0); struct stat buffer; int status; + char *fifo_parent_dir = strdup(FIFO_DIR); + dirname(fifo_parent_dir); + status = stat(fifo_parent_dir, &buffer); + if (status != 0) { + mkdir(fifo_parent_dir, 0644); + } + free(fifo_parent_dir); status = stat(FIFO_DIR, &buffer); if (status == 0) { int file_mode = ((buffer.st_mode & S_IRWXU) >> 6) * 100; |