Skip to content
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

fix: Make signal handling safer #3876

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tmccombs
Copy link

std::signal is very restrictive about what can be done inside the signal handler. Posix adds some additional functions that are safe to call, but it is still pretty limited.

This changes waybar to use the "self pipe trick" where all the signal handler does is write a byte into a pipe, and then we have a slot run on the Gtk main loop that reads from that pipe and actually handles the signal.

std::signal is very restrictive about what can be done inside the signal
handler. Posix adds some additional functions that are safe to call, but
it is still pretty limited.

This changes waybar to use the "self pipe trick" where all the signal
handler does is write a byte into a pipe, and then we have a slot run on
the Gtk main loop that reads from that pipe and actually handles the
signal.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant