diff --git a/lib/multi.c b/lib/multi.c index 9b9929dc9ea743f7fd3b66f9b1b20cd70c7454f7..9aee31ddd557a2ae63a11fa3f8f04f85e43e6a75 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -1083,8 +1083,11 @@ static void singlesocket(struct Curl_multi *multi, continue; } - action = ((current.action & GETSOCK_READSOCK(i))?CURL_POLL_IN:0) + - ((current.action & GETSOCK_WRITESOCK(i))?CURL_POLL_OUT:0); + action = CURL_POLL_NONE; + if(current.action & GETSOCK_READSOCK(i)) + action |= CURL_POLL_IN; + if(current.action & GETSOCK_WRITESOCK(i)) + action |= CURL_POLL_OUT; } /* call the callback with this new info */