If a connection attempt times out (
called), and enumeration has completed, and the
g_socket_connection_connect_async() operation is going to take much
GSocketClient effectively stalls because it doesn’t start
trying the next connection or enumeration.
Similarly, if a connection attempt times out, and enumeration has not
completed, the next enumeration is started while the
g_socket_connection_connect_async() call is still pending. If that
call completes a short while after, the state handling logic now has a
pending enumeration call ongoing while a connection has just succeeded
(or failed). It might not be set up to handle that.
Signed-off-by: Philip Withnall email@example.com