cURL / Mailing Lists / curl-library / Single Mail

curl-library

Need clarification for multi_socket interface with epoll() API

From: smruti kumari <smrutikumari777_at_gmail.com>
Date: Wed, 13 Jul 2016 18:50:27 +0530

Hi Daniel,

I am using 7.49.1 version of curl. I wanted to make the application more
faster by using parallel execution. I wanted to use
curl_multi_socket_action() API with epoll() API for event management.
I have called below API and able to send a get message to webserver and
getting a 200 OK message form webserver.
1. curl_easy_init();
2. curl_multi_init();
3. curl_multi_setopt(multi, CURLMOPT_SOCKETFUNCTION, socketCallback);
4. curl_multi_setopt(multi, CURLMOPT_TIMERFUNCTION, timerCallback);
5. curl_multi_add_handle(multi, easy);
6. curl_multi_socket_action(multi, CURL_SOCKET_TIMEOUT, 0,
&running_handles);
7. curl_multi_socket_action(multi, event.data.fd, 0, &running_handles);

After 7th step curl is notifying to the application to remove the socket
fd from epoll since transfer is completed. I have verified from
socketCallback() API.
I am getting problem after 7th setp.
*case 1:*
If I want to send one more get/post message to same/different link using
same easy handle, whether it possible or not since socket fd is closed for
the easy handle.

*Case 2:*
Do I need to call curl_multi_socket_action() API with CURL_SOCKET_TIMEOUT
option before sending one more data using same curl easy handle ?
I have observed that after 7th If I will call curl_multi_socket_action()
API to send data then it is not calling the socketCallback() API.

If available please provide the example link for epoll() API with curl's
multi_socket interface.
Could you please clarify me above two query ?

Best regards,
Smruti

-------------------------------------------------------------------
List admin: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2016-07-13