gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r29105 - libmicrohttpd/src/examples


From: gnunet
Subject: [GNUnet-SVN] r29105 - libmicrohttpd/src/examples
Date: Sun, 8 Sep 2013 13:48:01 +0200

Author: andreyu
Date: 2013-09-08 13:48:01 +0200 (Sun, 08 Sep 2013)
New Revision: 29105

Modified:
   libmicrohttpd/src/examples/mhd2spdy_http.c
   libmicrohttpd/src/examples/mhd2spdy_spdy.c
   libmicrohttpd/src/examples/mhd2spdy_structures.c
Log:
mhd2spdy: memory leaks (cleaning up proxy structs) fixed now

Modified: libmicrohttpd/src/examples/mhd2spdy_http.c
===================================================================
--- libmicrohttpd/src/examples/mhd2spdy_http.c  2013-09-08 10:41:42 UTC (rev 
29104)
+++ libmicrohttpd/src/examples/mhd2spdy_http.c  2013-09-08 11:48:01 UTC (rev 
29105)
@@ -190,6 +190,8 @@
     
     if(NULL == (proxy = au_malloc(sizeof(struct Proxy))))
     {
+      free(http_uri->uri);
+      free(http_uri);
       PRINT_INFO("No memory");
       return MHD_NO; 
     }
@@ -391,19 +393,23 @@
     if(MHD_REQUEST_TERMINATED_COMPLETED_OK != toe)
     {
       proxy->http_error = true;
-      if(proxy->stream_id > 0 && NULL != proxy->spdy_connection->session)
+      if(proxy->stream_id > 0 /*&& NULL != proxy->spdy_connection->session*/)
       {
         //send RST_STREAM_STATUS_CANCEL
         PRINT_INFO2("send rst_stream %i",proxy->spdy_active );
         spdylay_submit_rst_stream(proxy->spdy_connection->session, 
proxy->stream_id, 5);
       }
+      /*else
+      {
+        DLL_remove(proxy->spdy_connection->proxies_head, 
proxy->spdy_connection->proxies_tail, proxy); 
+        free_proxy(proxy);
+      }*/
     }
   }
   else
   {
-            PRINT_INFO2("proxy free http id %i ", proxy->id);
-    //DLL_remove(proxy->spdy_connection->proxies_head, 
proxy->spdy_connection->proxies_tail, proxy);
-    //free_proxy(proxy);
+    PRINT_INFO2("proxy free http id %i ", proxy->id);
+    free_proxy(proxy);
   }
     
   --glob_opt.responses_pending;

Modified: libmicrohttpd/src/examples/mhd2spdy_spdy.c
===================================================================
--- libmicrohttpd/src/examples/mhd2spdy_spdy.c  2013-09-08 10:41:42 UTC (rev 
29104)
+++ libmicrohttpd/src/examples/mhd2spdy_spdy.c  2013-09-08 11:48:01 UTC (rev 
29105)
@@ -371,17 +371,15 @@
   --glob_opt.streams_opened;
   --proxy->spdy_connection->streams_opened;
   PRINT_INFO2("closing stream: str opened %i; remove proxy %i", 
glob_opt.streams_opened, proxy->id);
-    
+   
+  DLL_remove(proxy->spdy_connection->proxies_head, 
proxy->spdy_connection->proxies_tail, proxy); 
   if(proxy->http_active)
   {
     proxy->spdy_active = false;
-    //DLL_remove(proxy->spdy_connection->proxies_head, 
proxy->spdy_connection->proxies_tail, proxy);
   }
   else
   {
-            PRINT_INFO2("proxy free close id %i ", proxy->id);
-    //DLL_remove(proxy->spdy_connection->proxies_head, 
proxy->spdy_connection->proxies_tail, proxy);
-    //free_proxy(proxy);
+    free_proxy(proxy);
   }
 }
 
@@ -773,25 +771,27 @@
 spdy_free_connection(struct SPDY_Connection * connection)
 {
   struct Proxy *proxy;
+  struct Proxy *proxy_next;
   
   if(NULL != connection)
   {
-    for(proxy = connection->proxies_head; NULL != proxy; proxy=proxy->next)
+    for(proxy = connection->proxies_head; NULL != proxy; proxy=proxy_next)
     {
+      proxy_next = proxy->next;
       DLL_remove(connection->proxies_head, connection->proxies_tail, proxy);
       proxy->spdy_active = false;
       proxy->spdy_error = true;
       PRINT_INFO2("spdy_free_connection for id %i", proxy->id);
       if(!proxy->http_active)
       {
-        //free_proxy(proxy);
+        free_proxy(proxy);
       }
     }
     spdylay_session_del(connection->session);
     SSL_free(connection->ssl);
     free(connection->host);
-    //free(connection);
-    connection->session = NULL;
+    free(connection);
+    //connection->session = NULL;
   }
 }
 

Modified: libmicrohttpd/src/examples/mhd2spdy_structures.c
===================================================================
--- libmicrohttpd/src/examples/mhd2spdy_structures.c    2013-09-08 10:41:42 UTC 
(rev 29104)
+++ libmicrohttpd/src/examples/mhd2spdy_structures.c    2013-09-08 11:48:01 UTC 
(rev 29105)
@@ -127,7 +127,7 @@
        free(proxy);
 }
 
-//TODO remove this
+
 void *au_malloc(size_t size)
 {
   void *new_memory;




reply via email to

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