I took the (much simpler) route of kicking the client off and allowing the WS process to exit. The client can then reconnect as needed.
I tested navigating around in the browser (via EG web client), stopping services and ejabberd, then trying another websocket request. The request failed and the client was disconnected. I then restarted ejabberd/services and issued more UI commands in the same interface (no page reloads) with success.
Fix pushed:
http:// git.evergreen- ils.org/ ?p=working/ OpenSRF. git;a=shortlog; h=refs/ heads/user/ berick/ lp1744158- ws-exits- on-delivery- failure
I took the (much simpler) route of kicking the client off and allowing the WS process to exit. The client can then reconnect as needed.
I tested navigating around in the browser (via EG web client), stopping services and ejabberd, then trying another websocket request. The request failed and the client was disconnected. I then restarted ejabberd/services and issued more UI commands in the same interface (no page reloads) with success.