Mantis - Resin
Viewing Issue Advanced Details
6207 minor always 12-18-18 19:09 01-15-19 15:19
closed 4.0.59  
none 4.0.60  
0006207: ResinEmbed does not close server web socket connections on stop or destroy
Steps to reproduce

1) Start ResinEmbed with a Web Socket Servlet.
2) Connect a client to the Web Socket.
3) Class ResinEmbed.stop(), .close() or .destroy(). None of these methods will force resin to close the socket and the client connected in step 0000002 will not see a disconnection notification until the process containing the ResinEmbed exits.

12-18-18 19:17   
This appears to be a change in behaviour from the previous release. It would close the socket when running the same code on version 4.0.58.
01-15-19 15:19   
Note: the purpose of the change was because of timing/threading issues with closing outstanding openssl connections at shutdown, leaving them to be closed during GC'd instead of a forced close. The fix attempts to close the file descriptor without incurring those openssl issues.