libshout does hang in shout_open().
libshout in 06237368 hangs in calls to shout_open() in somecases.
In state SHOUT_STATE_RESP_PENDING it passes retry via (rc == SHOUTERR_SOCKET && self->retry). self->retry does not reach 0. libshout is in blocking mode with TLS in RFC2818 mode. Server is Icecast 2.4.1. The reply in question is 401 to a probe request. The non-probe request is sent but the socket is closed by the server.
Maybe related to HTTP keep-alive.