about summary refs log tree commit diff
path: root/src/nm-connectivity.c
diff options
context:
space:
mode:
authorJeremy Bicha <jbicha@ubuntu.com>2018-05-11 19:02:28 -0400
committerJeremy Bicha <jbicha@ubuntu.com>2018-05-11 19:02:28 -0400
commitee7f1100500dc431a6e8bf1e6efb2d41445fd28f (patch)
tree3eef32d0e8412f4d2126a9be5820c85d387e313c /src/nm-connectivity.c
parent01bf2f7e474588126875a29125a1e248d7ae18db (diff)
parent680d3db45106e7a18665a366e1b57e58cef61506 (diff)
Merge tag 'debian/1.10.8-1' into cosmic
network-manager Debian release 1.10.8-1
Diffstat (limited to 'src/nm-connectivity.c')
-rw-r--r--src/nm-connectivity.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/nm-connectivity.c b/src/nm-connectivity.c
index 4ccc5719..8861f261 100644
--- a/src/nm-connectivity.c
+++ b/src/nm-connectivity.c
@@ -199,7 +199,7 @@ multi_timer_cb (CURLM *multi, long timeout_ms, void *userdata)
 
 	nm_clear_g_source (&priv->curl_timer);
 	if (timeout_ms != -1)
-		priv->curl_timer = g_timeout_add (timeout_ms * 1000, curl_timeout_cb, self);
+		priv->curl_timer = g_timeout_add (timeout_ms, curl_timeout_cb, self);
 
 	return 0;
 }
@@ -257,12 +257,15 @@ multi_socket_cb (CURL *e_handle, curl_socket_t s, int what, void *userdata, void
 		} else
 			nm_clear_g_source (&fdp->ev);
 
-		if (what & CURL_POLL_IN)
-			condition |= G_IO_IN;
-		if (what & CURL_POLL_OUT)
-			condition |= G_IO_OUT;
+		if (what == CURL_POLL_IN)
+			condition = G_IO_IN;
+		else if (what == CURL_POLL_OUT)
+			condition = G_IO_OUT;
+		else if (condition == CURL_POLL_INOUT)
+			condition = G_IO_IN | G_IO_OUT;
 
-		fdp->ev = g_io_add_watch (fdp->ch, condition, curl_socketevent_cb, self);
+		if (condition)
+			fdp->ev = g_io_add_watch (fdp->ch, condition, curl_socketevent_cb, self);
 		curl_multi_assign (priv->curl_mhandle, s, fdp);
 	}