Closed Robbert-Brand closed 9 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
37512ee
) 99.06% compared to head (8538957
) 99.06%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Sorry it's getting to the holiday season so I haven't been able to get to this. An initial impression gives me conerns around changing the default value here as I know some tools rely on it waiting indefinitely for a response, say a pipe read. It'll require some closer investigation to see what the best way forward for this is.
Perhaps an alternative option would be to pass an (optional) timeout value with the disconnect and other high-level interface functions? That way, the app only hangs when the user wishes it to do so.
I think at least making sure disconnect()
doesn't hang forever is a good middle ground for now. It's a pity I painted myself in the corner here with the defaults but what is done is done.
Hi! I updated the pull request as you suggested. It is now possible to supply a timeout with the disconnect() functions, and the delete_session that calls the disconnect() functions defaults to the standard timeout of 60 seconds. I also changed back the receive timeout to None, as it was originally. Robbert
Ah, I forgot to change that one back. My apologies, now the default of receive() should be as it originally was.
Thanks for working on this, sorry for the delay in the original review.
The library hang when following these steps:
This is because of the connection.receive() function is called against a dead server, without a timeout.
This pull request suggests setting the default timeout of the connection.receive() function to the same value as the default timeout of the other functions.