[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-twister] 02/04: use curl_multi_wait(). Less code nee
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-twister] 02/04: use curl_multi_wait(). Less code needed. |
Date: |
Sun, 03 Jun 2018 21:13:28 +0200 |
This is an automated email from the git hooks/post-receive script.
marcello pushed a commit to branch master
in repository twister.
commit 9dc679300003ee9cf33d90512f760f0a3599d0ee
Author: Marcello Stanisci <address@hidden>
AuthorDate: Fri Jun 1 10:26:08 2018 +0200
use curl_multi_wait(). Less code needed.
---
src/twister/taler-twister-service.c | 79 ++++++-------------------------------
1 file changed, 13 insertions(+), 66 deletions(-)
diff --git a/src/twister/taler-twister-service.c
b/src/twister/taler-twister-service.c
index 276b514..006531c 100644
--- a/src/twister/taler-twister-service.c
+++ b/src/twister/taler-twister-service.c
@@ -553,73 +553,17 @@ static void
curl_download_prepare ()
{
CURLMcode mret;
- fd_set rs;
- fd_set ws;
- fd_set es;
- int max;
- struct GNUNET_NETWORK_FDSet *grs;
- struct GNUNET_NETWORK_FDSet *gws;
- long to;
- struct GNUNET_TIME_Relative rtime;
+ int numfds;
- if (NULL != curl_download_task)
- {
- GNUNET_SCHEDULER_cancel (curl_download_task);
- curl_download_task = NULL;
- }
- max = -1;
- FD_ZERO (&rs);
- FD_ZERO (&ws);
- FD_ZERO (&es);
- if (CURLM_OK != (mret = curl_multi_fdset (curl_multi,
- &rs,
- &ws,
- &es,
- &max)))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "%s failed at %s:%d: `%s'\n",
- "curl_multi_fdset",
- __FILE__,
- __LINE__,
- curl_multi_strerror (mret));
- return;
- }
- to = -1;
- GNUNET_break (CURLM_OK ==
- curl_multi_timeout (curl_multi,
- &to));
- if (-1 == to)
- rtime = GNUNET_TIME_UNIT_FOREVER_REL;
- else
- rtime = GNUNET_TIME_relative_multiply
- (GNUNET_TIME_UNIT_MILLISECONDS, to);
- if (-1 != max)
- {
- grs = GNUNET_NETWORK_fdset_create ();
- gws = GNUNET_NETWORK_fdset_create ();
- GNUNET_NETWORK_fdset_copy_native (grs,
- &rs,
- max + 1);
- GNUNET_NETWORK_fdset_copy_native (gws,
- &ws,
- max + 1);
- curl_download_task = GNUNET_SCHEDULER_add_select
- (GNUNET_SCHEDULER_PRIORITY_DEFAULT,
- rtime,
- grs, gws,
- &curl_task_download,
- curl_multi);
- GNUNET_NETWORK_fdset_destroy (gws);
- GNUNET_NETWORK_fdset_destroy (grs);
- }
- else
- {
- curl_download_task = GNUNET_SCHEDULER_add_delayed
- (rtime,
- &curl_task_download,
- curl_multi);
- }
+ mret = curl_multi_wait (curl_multi,
+ NULL,
+ 0,
+ 1000,
+ &numfds);
+
+ curl_download_task = GNUNET_SCHEDULER_add_now
+ (&curl_task_download,
+ curl_multi);
}
@@ -647,6 +591,8 @@ curl_task_download (void *cls)
running = 0;
mret = curl_multi_perform (curl_multi,
&running);
+
+
while (NULL != (msg = curl_multi_info_read (curl_multi,
&msgnum)))
{
@@ -1356,6 +1302,7 @@ create_response (void *cls,
curl_easy_setopt (hr->curl,
CURLOPT_WRITEFUNCTION,
&curl_download_cb);
+
curl_easy_setopt (hr->curl,
CURLOPT_WRITEDATA,
hr);
--
To stop receiving notification emails like this one, please contact
address@hidden