-
-
Notifications
You must be signed in to change notification settings - Fork 347
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
Incorrect handling of signal handlers #295
Comments
Interesting find, Thanks a lot.
Thanks again for the detailed description, both issues will be fixed promptly. |
I am having a similar issue where signals were still being intercepted after |
@samichoulo911 if you're calling The reason |
I believe this is because (prior to #296) the server's constructor would use default signals |
This clears up my confusion thanks! |
Hi!
I'm experiencing the same problem as issues #187 and #188. As soon as I start the server,
Crow
steals signals handlers even if I callsignal_clear
before. It was very confusing, but I was able to dig into the library's code and find out the source. In fact, I think it's caused by two separate issues:(1) I use SSL App and the SSL implementation doesn't clear the signals in the server implementation at all. - app.h, line 279 I manually added the code from the non-SSL version. This helped partially -
Crow
didn't register signals, but it still overrode them and I had no signals at all after runningrun
.(2) Finally, I was able to find out that just creating the
signal_set
from Boost Asio affects OS signal handling. And since they are created inside the constructor ofhttp_server
, which instance is dynamically allocated inrun
, it will clearSIGINT
but not start a handler. I fixed the issue for myself by changing the constructor to allocating an empty set - maybe it could be a generic solution if signal handlers are always added anyway by entities using this class?The text was updated successfully, but these errors were encountered: