Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Add public API for clearing Seahorse::Client::NetHttp::ConnectionPool #1438
It is possible for 3a and 3b to utilize the same open file descriptor available in the
Creating new instances of a client in the child process will not clear the ConnectionPool since all of the pools are stored in a class variable.
I created an example script that showcases this issue and it is based on a similar application that my team uses in production to process async jobs.
I was able to fix this by adding the following code after any fork:
Seahorse::Client::NetHttp::ConnectionPool.pools.each do |pool| pool.empty! end
As far as I can tell from the public documentation consumers are discouraged from relying on implementation details inside of Seahorse.