# HG changeset patch # User Frank Zschockelt # Date 1557606315 -7200 # Node ID ca896de7b10d26b2a74dcd1ac089bad5ae6bfae7 # Parent 97f3ff94976f916a4ede7615258befccba826944 Handle G_IO_HUP and G_IO_NVAL when connecting diff -r 97f3ff94976f -r ca896de7b10d loudmouth/lm-old-socket.c --- a/loudmouth/lm-old-socket.c Sat May 11 22:15:56 2019 +0200 +++ b/loudmouth/lm-old-socket.c Sat May 11 22:25:15 2019 +0200 @@ -518,7 +518,7 @@ /* addr = connect_data->current_addr; */ fd = g_io_channel_unix_get_fd (source); - if (condition & G_IO_ERR) { + if (condition & (G_IO_ERR | G_IO_HUP | G_IO_NVAL)) { len = sizeof (err); _lm_sock_get_error (fd, &err, &len); if (!_lm_sock_is_blocking_error (err)) { @@ -664,14 +664,14 @@ socket->watch_connect = lm_misc_add_io_watch (socket->context, connect_data->io_channel, - G_IO_OUT|G_IO_ERR, + G_IO_OUT | G_IO_ERR | G_IO_HUP | G_IO_NVAL, (GIOFunc) _lm_proxy_connect_cb, connect_data); } else { socket->watch_connect = lm_misc_add_io_watch (socket->context, connect_data->io_channel, - G_IO_OUT|G_IO_ERR, + G_IO_OUT | G_IO_ERR | G_IO_HUP | G_IO_NVAL, (GIOFunc) socket_connect_cb, connect_data); } diff -r 97f3ff94976f -r ca896de7b10d loudmouth/lm-proxy.c --- a/loudmouth/lm-proxy.c Sat May 11 22:15:56 2019 +0200 +++ b/loudmouth/lm-proxy.c Sat May 11 22:25:15 2019 +0200 @@ -218,7 +218,7 @@ g_return_val_if_fail (proxy != NULL, FALSE); - if (condition & G_IO_ERR) { + if (condition & (G_IO_ERR | G_IO_HUP | G_IO_NVAL)) { len = sizeof (error); _lm_sock_get_error (connect_data->fd, &error, &len); _lm_old_socket_failed_with_error (connect_data, error);