cURL / Mailing Lists / curl-library / Single Mail

curl-library

RE: hangs up of application above libcurl

From: Igor Novoseltsev <IgorN_at_radvision.com>
Date: Wed, 24 Dec 2008 10:52:12 +0200

> I've now committed your patch.
> Please try this out now and do tell us how it runs for you!

Hi,
I've found another problem with the patch.
While continue testing my product I encountered CURLM_CALL_MULTI_PERFORM
status returned by curl_multi_socket_action.
According the curl_multi_socket_action documentation I have to call it
again.
When I call it again, I have no events on the socket, therefore I
provide ev_bitmask=0.
In this case the patch logic doesn't work since it uses ev_bitmask.

      if(data->set.one_easy->easy_conn) {
        if ((ev_bitmask & CURL_POLL_OUT) &&
            data->set.one_easy->easy_conn->send_pipe &&
            data->set.one_easy->easy_conn->send_pipe->head)
          data = data->set.one_easy->easy_conn->send_pipe->head->ptr;
        else
        if ((ev_bitmask & CURL_POLL_IN) &&
            data->set.one_easy->easy_conn->recv_pipe &&
            data->set.one_easy->easy_conn->recv_pipe->head)
          data = data->set.one_easy->easy_conn->recv_pipe->head->ptr;
      }

Thanks
Received on 2008-12-24