gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [libmicrohttpd] branch master updated: call completion hand


From: gnunet
Subject: [GNUnet-SVN] [libmicrohttpd] branch master updated: call completion handler also for upgrade connections
Date: Tue, 27 Feb 2018 23:28:03 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository libmicrohttpd.

The following commit(s) were added to refs/heads/master by this push:
     new fc495439 call completion handler also for upgrade connections
fc495439 is described below

commit fc495439b4e78c021bf25dce3609f47061e8c658
Author: Christian Grothoff <address@hidden>
AuthorDate: Tue Feb 27 23:28:01 2018 +0100

    call completion handler also for upgrade connections
---
 ChangeLog                      |  4 ++++
 src/include/microhttpd.h       |  2 +-
 src/lib/action_from_response.c |  1 +
 src/lib/request_resume.c       |  8 +++++---
 src/microhttpd/daemon.c        | 12 +++++++-----
 5 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7feebbb6..214d6373 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Feb 27 23:27:02 CET 2018
+       Ensure MHD_RequestCompletedCallback is also called for
+       upgraded connections. -CG
+
 Fri Feb 16 03:09:33 CET 2018
        Fixing #5278 as suggested by reporter. -CG/texec
 
diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h
index 3af9cf22..77bb000c 100644
--- a/src/include/microhttpd.h
+++ b/src/include/microhttpd.h
@@ -126,7 +126,7 @@ typedef intptr_t ssize_t;
  * Current version of the library.
  * 0x01093001 = 1.9.30-1.
  */
-#define MHD_VERSION 0x00095901
+#define MHD_VERSION 0x00095902
 
 /**
  * MHD-internal return code for "YES".
diff --git a/src/lib/action_from_response.c b/src/lib/action_from_response.c
index 007363fb..43f33cb5 100644
--- a/src/lib/action_from_response.c
+++ b/src/lib/action_from_response.c
@@ -23,6 +23,7 @@
  * @author Christian Grothoff
  */
 #include "internal.h"
+#include "connection_call_handlers.h"
 
 
 /**
diff --git a/src/lib/request_resume.c b/src/lib/request_resume.c
index 8a231292..5742f6ac 100644
--- a/src/lib/request_resume.c
+++ b/src/lib/request_resume.c
@@ -23,7 +23,7 @@
  * @author Christian Grothoff
  */
 #include "internal.h"
-
+#include "connection_close.h"
 
 /**
  * Resume handling of network data for suspended request.  It is
@@ -43,7 +43,7 @@ void
 MHD_request_resume (struct MHD_Request *request)
 {
   struct MHD_Daemon *daemon = request->daemon;
-  
+
   if (daemon->disallow_suspend_resume)
     MHD_PANIC (_("Cannot resume connections without enabling 
MHD_ALLOW_SUSPEND_RESUME!\n"));
   MHD_mutex_lock_chk_ (&daemon->cleanup_connection_mutex);
@@ -81,7 +81,7 @@ MHD_resume_suspended_connections_ (struct MHD_Daemon *daemon)
   struct MHD_Connection *prev = NULL;
   bool ret;
   const bool used_thr_p_c = (MHD_TM_THREAD_PER_CONNECTION == 
daemon->threading_model);
-  
+
   mhd_assert (NULL == daemon->worker_pool);
   ret = false;
   MHD_mutex_lock_chk_ (&daemon->cleanup_connection_mutex);
@@ -159,6 +159,8 @@ MHD_resume_suspended_connections_ (struct MHD_Daemon 
*daemon)
           /* Data forwarding was finished (for TLS connections) AND
            * application was closed upgraded connection.
            * Insert connection into cleanup list. */
+          MHD_connection_close_ (pos,
+                                 MHD_CONNECTION_NOTIFY_CLOSED);
           DLL_insert (daemon->cleanup_head,
                       daemon->cleanup_tail,
                       pos);
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index b6906459..14cc0121 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -2678,7 +2678,7 @@ void
 MHD_resume_connection (struct MHD_Connection *connection)
 {
   struct MHD_Daemon *daemon = connection->daemon;
-  
+
   if (0 == (daemon->options & MHD_TEST_ALLOW_SUSPEND_RESUME))
     MHD_PANIC (_("Cannot resume connections without enabling 
MHD_ALLOW_SUSPEND_RESUME!\n"));
   MHD_mutex_lock_chk_ (&daemon->cleanup_connection_mutex);
@@ -2790,6 +2790,8 @@ resume_suspended_connections (struct MHD_Daemon *daemon)
           /* Data forwarding was finished (for TLS connections) AND
            * application was closed upgraded connection.
            * Insert connection into cleanup list. */
+          MHD_connection_close_ (pos,
+                                 MHD_REQUEST_TERMINATED_COMPLETED_OK);
           DLL_insert (daemon->cleanup_head,
                       daemon->cleanup_tail,
                       pos);
@@ -5425,7 +5427,7 @@ MHD_start_daemon_va (unsigned int flags,
   MHD_DLOG (daemon,  _("Using debug build of libmicrohttpd.\n") );
 #endif /* HAVE_MESSAGES */
 #endif /* ! NDEBUG */
-  
+
   if ( (0 != (*pflags & MHD_USE_ITC)) &&
        (0 == daemon->worker_pool_size) )
     {
@@ -5527,7 +5529,7 @@ MHD_start_daemon_va (unsigned int flags,
     {
       /* try to open listen socket */
       int domain;
-      
+
 #ifdef HAVE_INET6
       domain = (*pflags & MHD_USE_IPv6) ? PF_INET6 : PF_INET;
 #else  /* ! HAVE_INET6 */
@@ -5535,7 +5537,7 @@ MHD_start_daemon_va (unsigned int flags,
        goto free_and_fail;
       domain = PF_INET;
 #endif /* ! HAVE_INET6 */
-      
+
       listen_fd = MHD_socket_create_listen_(domain);
       if (MHD_INVALID_SOCKET == listen_fd)
        {
@@ -6358,7 +6360,7 @@ MHD_stop_daemon (struct MHD_Daemon *daemon)
 #endif /* HAVE_LISTEN_SHUTDOWN */
                mhd_assert (false); /* Should never happen */
            }
-         
+
          if (! MHD_join_thread_ (daemon->pid.handle))
            {
              MHD_PANIC (_("Failed to join a thread\n"));

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

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