Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Close other client sockets in application forks
All client unix sockets are initiated at the spring application process before forking to serve each client. A reference to the client socket remains active by the thread in the wait method waiting for the client's fork to exit. This is problematic in cases with more than one parallel clients because the client socket for the first client is also present in the fork for the second client due to fd inheritance from the spring application parent process. With the first client's socket being present in the second client's fork, the first client cannot exit gracefully because a reference to its socket remains open in the fork for the second client leading to rails console hanging for the first client until the second client gets terminated. The problem can be reproduced by opening 2 rails consoles on spring & attempting to exit the first console while the second is still active.
- Loading branch information