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
Correct SIGINT and SIGQUIT termination in debug mode #1308
Conversation
Why is this "correct"? The SIGINT and SIGQUIT handlers shouldn't be set when -m isn't used. |
On my debian 8.2 radiusd -XXX didn't terminate on Ctrl-C (terminates with radiusd -mXXX). |
If there is no signal handler for CTRL-C, then the process should quit. It works fine on my system when using |
I can't believe. Magic! After your post it works !! (recompiled distro 2 times). =) Thanks =) |
I've noticed some modules like rlm_ruby, register their own signal handlers which can cause this to happen. |
I found it. When rlm_sql_oracle loads - it does not terminates on SIGINT. Only with SIGQUIT. |
We should probably try to remove any registered signal handlers (that we didn't add) after module instantiation. @alandekok thoughts? |
While I thing it's stupid for libraries to register signal handlers, I'm not sure it's worth adding more code to the server to work around stupid crap. |
@EllezDi can you confirm this fixes the issue? Then i'll merge to v3.0.x? |
@arr2036 on 3.0.10 - your patch didn't fixes the issue. Oracle client 12.1 x64 (db 10 or 11) |
If server starts without -m option, then SIGINT and SIGQUIT signal handlers doesn't init.
The -m option for memory cleanup then correctly processed in sig_fatal function.