gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r11780 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r11780 - gnunet/src/transport
Date: Thu, 17 Jun 2010 15:04:10 +0200

Author: wachs
Date: 2010-06-17 15:04:10 +0200 (Thu, 17 Jun 2010)
New Revision: 11780

Modified:
   gnunet/src/transport/plugin_transport_http.c
Log:


Modified: gnunet/src/transport/plugin_transport_http.c
===================================================================
--- gnunet/src/transport/plugin_transport_http.c        2010-06-17 12:50:46 UTC 
(rev 11779)
+++ gnunet/src/transport/plugin_transport_http.c        2010-06-17 13:04:10 UTC 
(rev 11780)
@@ -381,8 +381,6 @@
   ses->pending_inbound_msg->buf = 
GNUNET_malloc(GNUNET_SERVER_MAX_MESSAGE_SIZE);
   ses->pending_inbound_msg->len = GNUNET_SERVER_MAX_MESSAGE_SIZE;
   ses->pending_inbound_msg->pos = 0;
-
-
   return ses;
 }
 
@@ -415,9 +413,6 @@
   return MHD_YES;
 }
 
-
-int serror;
-
 /**
  * Process GET or PUT request received via MHD.  For
  * GET, queue response that will send back our pending
@@ -968,7 +963,7 @@
 static void send_execute (void *cls,
              const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
-
+  static unsigned int handles_last_run;
   int running;
   struct CURLMsg *msg;
   CURLMcode mret;
@@ -982,7 +977,7 @@
     {
       running = 0;
       mret = curl_multi_perform (multi_handle, &running);
-      if (running == 0)
+      if (running < handles_last_run)
         {
           do
             {
@@ -1054,6 +1049,7 @@
             }
           while ( (running > 0) );
         }
+      handles_last_run = running;
     }
   while (mret == CURLM_CALL_MULTI_PERFORM);
   send_prepare(cls);
@@ -1561,10 +1557,6 @@
     http_daemon_v6 = NULL;
   }
 
-  mret = curl_multi_cleanup(multi_handle);
-  if ( CURLM_OK != mret)
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"curl multihandle clean up failed");
-
   /* free all sessions */
   cs = plugin->sessions;
 
@@ -1597,6 +1589,10 @@
       cs = cs_next;
     }
 
+  mret = curl_multi_cleanup(multi_handle);
+  if ( CURLM_OK != mret)
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"curl multihandle clean up failed");
+
   GNUNET_free (plugin);
   GNUNET_free (api);
   return NULL;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]