-
Notifications
You must be signed in to change notification settings - Fork 422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Child process redshift is not terminated properly if redshift-gtk receives a signal #263
Comments
Thanks! I wrote some quick code in #268 to fix what I think is the problem. I didn't have time to test it yet but I'll get back to it later. If you have any suggestions on the pull request or if you can test it, please let me know! |
I believe this is still occurring on 1.12. I autostart redshift in my session using the handy lill' button in the gtk tray icon. And if I log out and in again I get one more redshift process per time I login. |
I've had the same issue with AwesomeWM, I opened an issue and I've learned that the |
Same issue here, but with Xfce4 |
Using However instead of #268 it would be even better to have some system that ensures the child process is always killed the parent dies, even on a |
Are there any news on this? |
@joanbm Thanks for the summary, I think this is accurate. There's apparently no way to make sure that the child is definitely terminated when the parent is terminates. I think the long-term solution should be something like #54 where there's no longer a need for |
This looks like a bug in the way redshift-gtk communicates and passes signals to the child process (redshift). Possibly related to #253 and #218.
If a signal other than SIGUSR1 is sent to the parent process (
redshift-gtk
), the children process (redshift -v
) may be left running while the parent exits.Steps to reproduce:
If the signal is sent during the tone change (gradient) phase
redshift -v
will exit but only due to a broken pipe error caused by producing output to a parent that is no longer there.This can be confirmed by running the same steps above that lead to an orphan
redshift -v
process and then run:This would normally transition to the "normal" state before exiting. However in this case the process dies immediately and leaves the screen in night tone.
If redshift-gtk is modified to run the child process as
redshift
instead ofredshift -v
the broken pipe problem is no longer visible and step 5) will perform the transition to "normal" tone.However this change is not sufficient to solve the initial problem of the orphaned
redshift
process.The best solution would be for
redshift-gtk
to wait for the child process to finish before exiting, much like theQuit
menu action does.The text was updated successfully, but these errors were encountered: