diff options
author | Timothy Pearson <[email protected]> | 2015-04-12 23:05:48 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2015-04-12 23:05:48 -0500 |
commit | 37bc5cdd0e31fd9c8712c0bd88039dd474be4418 (patch) | |
tree | f71caed49e7e08980f2a5b42d7b10d864bbcefcf /kdesktop/lock/lockprocess.cc | |
parent | e569dd46ac06ef5a5f2ad03a311640e1834c749f (diff) | |
download | tdebase-37bc5cdd0e31fd9c8712c0bd88039dd474be4418.tar.gz tdebase-37bc5cdd0e31fd9c8712c0bd88039dd474be4418.zip |
Fix long-standing inverted signal mask in kdesktop_lock initial sigsuspend
Prevent helper thread termination signal from errantly being handled by main thread
Diffstat (limited to 'kdesktop/lock/lockprocess.cc')
-rw-r--r-- | kdesktop/lock/lockprocess.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc index da12bd46c..a4a2badd3 100644 --- a/kdesktop/lock/lockprocess.cc +++ b/kdesktop/lock/lockprocess.cc @@ -2842,6 +2842,13 @@ void ControlPipeHandlerObject::run(void) { mThreadID = pthread_self(); mRunning = true; + sigset_t new_mask; + sigemptyset(&new_mask); + sigaddset(&new_mask, SIGUSR1); + + // Unblock SIGUSR1 + pthread_sigmask(SIG_UNBLOCK, &new_mask, NULL); + int display_number = atoi(TQString(XDisplayString(tqt_xdisplay())).replace(":","").ascii()); if (display_number < 0) { |