gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r17023 - libmicrohttpd/src/daemon


From: gnunet
Subject: [GNUnet-SVN] r17023 - libmicrohttpd/src/daemon
Date: Mon, 26 Sep 2011 21:25:25 +0200

Author: grothoff
Date: 2011-09-26 21:25:25 +0200 (Mon, 26 Sep 2011)
New Revision: 17023

Modified:
   libmicrohttpd/src/daemon/daemon.c
Log:
make sure to clean up response ASAP

Modified: libmicrohttpd/src/daemon/daemon.c
===================================================================
--- libmicrohttpd/src/daemon/daemon.c   2011-09-26 19:24:42 UTC (rev 17022)
+++ libmicrohttpd/src/daemon/daemon.c   2011-09-26 19:25:25 UTC (rev 17023)
@@ -623,9 +623,7 @@
          if (FD_ISSET (con->socket_fd, &ws))
            con->write_handler (con);
          if (MHD_NO == con->idle_handler (con))
-           {
-             return NULL;
-           }
+           goto exit;
        }
 #ifdef HAVE_POLL_H
       else
@@ -660,9 +658,7 @@
          if (0 != (p[0].revents & (POLLERR | POLLHUP))) 
            MHD_connection_close (con, MHD_REQUEST_TERMINATED_WITH_ERROR);      
          if (MHD_NO == con->idle_handler (con))
-           {
-             return NULL; /* "instant" termination, 'con' no longer valid! */
-           }
+           goto exit;
        }
 #endif
     }
@@ -678,6 +674,12 @@
        MHD_connection_close (con, MHD_REQUEST_TERMINATED_DAEMON_SHUTDOWN);
       con->idle_handler (con);
     }
+exit:
+  if (con->response != NULL)
+    {
+      MHD_destroy_response (con->response);
+      con->response = NULL;
+    }
   return NULL;
 }
 




reply via email to

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