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
SIGUSR1 handler only restarts notion if it returns to the mainloop #171
Comments
I propose SIGSTKFLT ("stack fault on coprocessor (unused)" according to signal(7)) since indeed the stack is at fault. |
Interesting. We could also use SIGHUP for the 'graceful restart' and SIGUSR1 for 'emergency restart'? |
I'm not sure about SIGHUP since it's used at least by ssh to terminate the running program, so it might also be used as such by some session managers? I don't know, though. SIGUSR2 is already in use for something else, apparently. I guess we should add a SIGNALS section to the manpage, too. |
Not too uncommon to have it mean 'reload config' (https://en.wikipedia.org/wiki/Signal_(IPC)#SIGHUP), though indeed 'restart' is a bit different.
Yes! |
As far as I know only for daemons which are not normally bound to a session, although it's a bit unclear. |
We might also be able to use SIGRTMIN..SIGRTMAX but I don't know how portable those are. |
I've been bitten by this twice so far, quitting the ibus tray icon makes notion hang. Notion offers a feature to restart itself if it is killed with SIGUSR1, but the signal handler only sets a global flag that SIGUSR1 has been received, and notion keeps being stuck further down the call stack without ever returning to the main loop.
I think we should add another signal for emergency restarts when the mainloop is unresponsive.
The text was updated successfully, but these errors were encountered: