Skip to content

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