-
Notifications
You must be signed in to change notification settings - Fork 24
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
Kitura-NIO calls syncShutdownGracefully of an EventLoopGroup ON an EventLoop #227
Comments
Hi @weissi, I ran the tests with Swift-NIO master but was not able reproduce the issue. Can you please provide the steps to reproduce these issues? Thanks. |
@harish1992 sorry about that, of course, here's a one line repro:
if you paste this, it'll clone a new Kitura-NIO into
|
@weissi While working on SwiftyRequest, I created a global EventLoopGroup for all instances of SwiftyRequest to use. Do you think it would make sense for HTTPServer also? At the moment, if we create multiple HTTPServers, they each have a If they all shared a global ELG, then presumably there would be no need to shut it down, as any future HTTPServer would make use of it again. This would also avoid having to keep track of whether the ELG was user-supplied (via the upcoming API for #225) and avoid shutting down one that HTTPServer does not own. |
@djones6 a global MTELG isn't ideal but better than shutting it down in |
Kitura-NIO calls
syncShutdownGracefully
of an EventLoopGroup ON an EventLoop. That is very prone to deadlocking because it's attempting to shut down the EventLoop the synchronous call is running on. We now built in an automatic detection because people were hitting the deadlocks.The text was updated successfully, but these errors were encountered: