gnunet-svn
[Top][All Lists]
Advanced

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

[libmicrohttpd] branch master updated (a061caa2 -> 7bc79627)


From: gnunet
Subject: [libmicrohttpd] branch master updated (a061caa2 -> 7bc79627)
Date: Sun, 27 Dec 2020 17:39:31 +0100

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

karlson2k pushed a change to branch master
in repository libmicrohttpd.

    from a061caa2 Fixed builds with --disable-https or --disable-httpupgrade
     new 72e1143c Fixed build with --disable-bauth
     new 0592f4e2 Fixed configure --without-threads
     new 7bc79627 Fixed build --without-threads

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 configure.ac                 |  1 +
 doc/examples/Makefile.am     |  8 ++++++--
 src/include/mhd_options.h    |  6 ++++++
 src/microhttpd/connection.c  |  8 ++++++++
 src/microhttpd/daemon.c      | 35 ++++++++++++++++++++++++++++-------
 src/microhttpd/internal.h    |  2 +-
 src/microhttpd/mhd_locks.h   | 13 +++++++++++++
 src/microhttpd/mhd_threads.h |  6 ++++++
 src/microhttpd/response.c    |  2 ++
 9 files changed, 71 insertions(+), 10 deletions(-)

diff --git a/configure.ac b/configure.ac
index ac5afe0a..87ca4474 100644
--- a/configure.ac
+++ b/configure.ac
@@ -551,6 +551,7 @@ AS_CASE([[$with_threads]],
   [[posix]], [[:]],
   [[w32]], [[:]],
   [[none]], [[with_threads='none']],
+  [[no]], [[with_threads='none']],
   [[auto]], [[:]],
     [AC_MSG_ERROR([[incorrect parameter "$with_threads" specified for 
--with-threads]])]
 )
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
index 7bb02dac..ee4c3ce6 100644
--- a/doc/examples/Makefile.am
+++ b/doc/examples/Makefile.am
@@ -12,10 +12,14 @@ endif
 
 # example programs
 noinst_PROGRAMS = \
-  basicauthentication \
   hellobrowser \
   logging \
-  responseheaders 
+  responseheaders
+  
+if ENABLE_BAUTH
+noinst_PROGRAMS += \
+  basicauthentication
+endif
 
 if ENABLE_HTTPS
 noinst_PROGRAMS += \
diff --git a/src/include/mhd_options.h b/src/include/mhd_options.h
index dddc336f..0e803451 100644
--- a/src/include/mhd_options.h
+++ b/src/include/mhd_options.h
@@ -74,6 +74,12 @@
 #define MHD_LINUX_SOLARIS_SENDFILE 1
 #endif /* HAVE_LINUX_SENDFILE || HAVE_SOLARIS_SENDFILE */
 
+#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS)
+#  ifndef MHD_USE_THREADS
+#    define MHD_USE_THREADS 1
+#  endif
+#endif /* MHD_USE_POSIX_THREADS || MHD_USE_W32_THREADS */
+
 #if OS390
 #define _OPEN_THREADS
 #define _OPEN_SYS_SOCK_IPV6
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c
index 7562ba52..166695fb 100644
--- a/src/microhttpd/connection.c
+++ b/src/microhttpd/connection.c
@@ -646,8 +646,10 @@ MHD_connection_close_ (struct MHD_Connection *connection,
   struct MHD_Daemon *daemon = connection->daemon;
   struct MHD_Response *resp = connection->response;
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (connection->pid) );
+#endif /* MHD_USE_THREADS */
 
   MHD_connection_mark_closed_ (connection);
   if (NULL != resp)
@@ -682,9 +684,11 @@ MHD_connection_finish_forward_ (struct MHD_Connection 
*connection)
   struct MHD_Daemon *daemon = connection->daemon;
   struct MHD_UpgradeResponseHandle *urh = connection->urh;
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
+#endif /* MHD_USE_THREADS */
 
   if (0 == (daemon->options & MHD_USE_TLS))
     return; /* Nothing to do with non-TLS connection. */
@@ -3148,8 +3152,10 @@ static void
 cleanup_connection (struct MHD_Connection *connection)
 {
   struct MHD_Daemon *daemon = connection->daemon;
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (connection->pid) );
+#endif /* MHD_USE_THREADS */
 
   if (connection->in_cleanup)
     return; /* Prevent double cleanup. */
@@ -3229,8 +3235,10 @@ MHD_connection_handle_idle (struct MHD_Connection 
*connection)
   char *line;
   size_t line_len;
   enum MHD_Result ret;
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (connection->pid) );
+#endif /* MHD_USE_THREADS */
 
   connection->in_idle = true;
   while (! connection->suspended)
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index 6b0aec81..c70b9d7a 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -1346,8 +1346,10 @@ process_urh (struct MHD_UpgradeResponseHandle *urh)
    * of processing - it will be processed on next iteration. */
   bool was_closed;
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (connection->pid) );
+#endif /* MHD_USE_THREADS */
   if (daemon->shutdown)
   {
     /* Daemon shutting down, application will not receive any more data. */
@@ -2609,6 +2611,7 @@ new_connection_prepare_ (struct MHD_Daemon *daemon,
 }
 
 
+#ifdef MHD_USE_THREADS
 /**
  * Close prepared, but not yet processed connection.
  * @param daemon     the daemon
@@ -2642,6 +2645,9 @@ new_connection_close_ (struct MHD_Daemon *daemon,
 }
 
 
+#endif /* MHD_USE_THREADS */
+
+
 /**
  * Finally insert the new connection to the list of connections
  * served by the daemon and start processing.
@@ -2660,10 +2666,12 @@ new_connection_process_ (struct MHD_Daemon *daemon,
 
   mhd_assert (connection->daemon == daemon);
 
+#ifdef MHD_USE_THREADS
   /* Function manipulate connection and timeout DL-lists,
    * must be called only within daemon thread. */
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
+#endif /* MHD_USE_THREADS */
 
   /* Allocate memory pool in the processing thread so
    * intensively used memory area is allocated in "good"
@@ -2992,11 +3000,10 @@ internal_suspend_connection_ (struct MHD_Connection 
*connection)
 {
   struct MHD_Daemon *daemon = connection->daemon;
 
+#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS)
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
-
-#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS)
   MHD_mutex_lock_chk_ (&daemon->cleanup_connection_mutex);
 #endif
   if (connection->resuming)
@@ -3091,9 +3098,11 @@ MHD_suspend_connection (struct MHD_Connection 
*connection)
 {
   struct MHD_Daemon *const daemon = connection->daemon;
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
+#endif /* MHD_USE_THREADS */
 
   if (0 == (daemon->options & MHD_TEST_ALLOW_SUSPEND_RESUME))
     MHD_PANIC (_ (
@@ -3465,8 +3474,10 @@ MHD_accept_connection (struct MHD_Daemon *daemon)
   bool sk_nonbl;
   bool sk_spipe_supprs;
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
+#endif /* MHD_USE_THREADS */
 
   addrlen = sizeof (addrstorage);
   memset (addr,
@@ -3630,10 +3641,10 @@ static void
 MHD_cleanup_connections (struct MHD_Daemon *daemon)
 {
   struct MHD_Connection *pos;
+#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS)
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
 
-#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS)
   MHD_mutex_lock_chk_ (&daemon->cleanup_connection_mutex);
 #endif
   while (NULL != (pos = daemon->cleanup_tail))
@@ -3746,8 +3757,10 @@ MHD_get_timeout (struct MHD_Daemon *daemon,
   struct MHD_Connection *pos;
   bool have_timeout;
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
+#endif /* MHD_USE_THREADS */
 
   if (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION))
   {
@@ -4558,8 +4571,10 @@ run_epoll_for_upgrade (struct MHD_Daemon *daemon)
   struct MHD_UpgradeResponseHandle *pos;
   struct MHD_UpgradeResponseHandle *prev;
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
+#endif /* MHD_USE_THREADS */
 
   num_events = MAX_EVENTS;
   while (0 != num_events)
@@ -5044,8 +5059,10 @@ close_connection (struct MHD_Connection *pos)
 {
   struct MHD_Daemon *daemon = pos->daemon;
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
+#endif /* MHD_USE_THREADS */
 
   if (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION))
   {
@@ -7101,16 +7118,16 @@ close_all_connections (struct MHD_Daemon *daemon)
   const bool used_tls = (0 != (daemon->options & MHD_USE_TLS));
 #endif /* HTTPS_SUPPORT && UPGRADE_SUPPORT */
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) || \
                MHD_thread_ID_match_current_ (daemon->pid) );
-
-#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS)
   mhd_assert (NULL == daemon->worker_pool);
-#endif
+#endif /* MHD_USE_THREADS */
   mhd_assert (daemon->shutdown);
 
-  /* Remove externally added new connections that are
+#ifdef MHD_USE_THREADS
+/* Remove externally added new connections that are
    * not processed by the daemon thread. */
   while (NULL != (pos = daemon->new_connections_tail))
   {
@@ -7120,6 +7137,8 @@ close_all_connections (struct MHD_Daemon *daemon)
                 pos);
     new_connection_close_ (daemon, pos);
   }
+#endif /* MHD_USE_THREADS */
+
 #if defined(HTTPS_SUPPORT) && defined(UPGRADE_SUPPORT)
   /* give upgraded HTTPS connections a chance to finish */
   /* 'daemon->urh_head' is not used in thread-per-connection mode. */
@@ -7196,6 +7215,7 @@ close_all_connections (struct MHD_Daemon *daemon)
     MHD_PANIC (_ (
                  "MHD_stop_daemon() called while we have suspended 
connections.\n"));
 #if defined(UPGRADE_SUPPORT) && defined(HTTPS_SUPPORT)
+#ifdef MHD_USE_THREADS
   if (upg_allowed && used_tls && used_thr_p_c)
   {
     /* "Upgraded" threads may be running in parallel. Connection will not be
@@ -7221,6 +7241,7 @@ close_all_connections (struct MHD_Daemon *daemon)
       }
     }
   }
+#endif /* MHD_USE_THREADS */
 #endif
   for (pos = daemon->connections_tail; NULL != pos; pos = pos->prev)
   {
diff --git a/src/microhttpd/internal.h b/src/microhttpd/internal.h
index 1c2496d8..f3c4cb1e 100644
--- a/src/microhttpd/internal.h
+++ b/src/microhttpd/internal.h
@@ -69,8 +69,8 @@
 
 #if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS)
 #include "mhd_threads.h"
-#include "mhd_locks.h"
 #endif
+#include "mhd_locks.h"
 #include "mhd_sockets.h"
 #include "mhd_itc_types.h"
 
diff --git a/src/microhttpd/mhd_locks.h b/src/microhttpd/mhd_locks.h
index 8c9b0844..2ef7747e 100644
--- a/src/microhttpd/mhd_locks.h
+++ b/src/microhttpd/mhd_locks.h
@@ -39,6 +39,8 @@
 
 #include "mhd_options.h"
 
+#ifdef MHD_USE_THREADS
+
 #if defined(MHD_USE_W32_THREADS)
 #  define MHD_W32_MUTEX_ 1
 #  ifndef WIN32_LEAN_AND_MEAN
@@ -182,5 +184,16 @@ typedef CRITICAL_SECTION MHD_mutex_;
       MHD_PANIC (_ ("Failed to unlock mutex.\n")); \
 } while (0)
 
+#else  /* ! MHD_USE_THREADS */
+
+#define MHD_mutex_init_(ignore) (! 0)
+#define MHD_mutex_destroy_(ignore) (! 0)
+#define MHD_mutex_destroy_chk_(ignore) (void)0
+#define MHD_mutex_lock_(ignore) (! 0)
+#define MHD_mutex_lock_chk_(ignore) (void)0
+#define MHD_mutex_unlock_(ignore) (! 0)
+#define MHD_mutex_unlock_chk_(ignore) (void)0
+
+#endif /* ! MHD_USE_THREADS */
 
 #endif /* ! MHD_LOCKS_H */
diff --git a/src/microhttpd/mhd_threads.h b/src/microhttpd/mhd_threads.h
index 6f690893..dcc7b09a 100644
--- a/src/microhttpd/mhd_threads.h
+++ b/src/microhttpd/mhd_threads.h
@@ -47,11 +47,17 @@
 #  undef HAVE_CONFIG_H
 #  include <pthread.h>
 #  define HAVE_CONFIG_H 1
+#  ifndef MHD_USE_THREADS
+#    define MHD_USE_THREADS 1
+#  endif
 #elif defined(MHD_USE_W32_THREADS)
 #  ifndef WIN32_LEAN_AND_MEAN
 #    define WIN32_LEAN_AND_MEAN 1
 #  endif /* !WIN32_LEAN_AND_MEAN */
 #  include <windows.h>
+#  ifndef MHD_USE_THREADS
+#    define MHD_USE_THREADS 1
+#  endif
 #else
 #  error No threading API is available.
 #endif
diff --git a/src/microhttpd/response.c b/src/microhttpd/response.c
index a77dbe27..4ae46bf3 100644
--- a/src/microhttpd/response.c
+++ b/src/microhttpd/response.c
@@ -951,8 +951,10 @@ MHD_response_execute_upgrade_ (struct MHD_Response 
*response,
   struct MHD_UpgradeResponseHandle *urh;
   size_t rbo;
 
+#ifdef MHD_USE_THREADS
   mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
                MHD_thread_ID_match_current_ (connection->pid) );
+#endif /* MHD_USE_THREADS */
 
   if (0 == (daemon->options & MHD_ALLOW_UPGRADE))
     return MHD_NO;

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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