gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [libmicrohttpd] GNU libmicrohttpd branch master updated. f9


From: gitolite
Subject: [GNUnet-SVN] [libmicrohttpd] GNU libmicrohttpd branch master updated. f9f8d0c54d103995e2c8ccd42de8e5ca1cc931b2
Date: Wed, 23 Nov 2016 15:45:23 +0100 (CET)

The branch, master has been updated
       via  f9f8d0c54d103995e2c8ccd42de8e5ca1cc931b2 (commit)
      from  198181f17828a0c25079ace9d71f23682d99b8ad (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f9f8d0c54d103995e2c8ccd42de8e5ca1cc931b2
Author: Karlson2k <address@hidden>
Date:   Wed Nov 23 17:38:53 2016 +0300

    Updated documentation.

-----------------------------------------------------------------------

Summary of changes:
 doc/libmicrohttpd.texi | 115 ++++++++++++++++++++++++++++---------------------
 1 file changed, 65 insertions(+), 50 deletions(-)

diff --git a/doc/libmicrohttpd.texi b/doc/libmicrohttpd.texi
index 70bef1c..dba1d08 100644
--- a/doc/libmicrohttpd.texi
+++ b/doc/libmicrohttpd.texi
@@ -163,18 +163,18 @@ Examples based on reports we've received from developers 
include:
 MHD supports four basic thread modes and up to three event loop
 styles.
 
-The four basic thread modes are external (MHD creates no threads,
-event loop is fully managed by the application), internal (MHD creates
-one thread for all connections), thread pool (MHD creates a thread
-pool which is used to process all connections) and
-thread-per-connection (MHD creates one listen thread and then one
-thread per accepted connection).
-
-These thread modes are then combined with the event loop styles.
-MHD support select, poll and epoll.  select is available on all
-platforms, epoll and poll may not be available on some platforms.
-Note that it is possible to combine MHD using epoll with an external
-select-based event loop.
+The four basic thread modes are external sockets polling (MHD creates
+no threads, event loop is fully managed by the application), internal
+polling (MHD creates one thread for all connections), polling in
+thread pool (MHD creates a thread pool which is used to process all
+connections) and thread-per-connection (MHD creates one thread for
+listen sockets and then one thread per accepted connection).
+
+These thread modes are then combined with the evet loop styles
+(polling function type).  MHD support select, poll and epoll. select
+is available on all platforms, epoll and poll may not be available on
+some platforms.  Note that it is possible to combine MHD using epoll
+with an external select-based event loop.
 
 The default (if no other option is passed) is ``external select''.
 The highest performance can typically be obtained with a thread pool
@@ -267,7 +267,10 @@ do not include the post processor API (results in binary 
incompatibility)
 @item ``--disable-dauth''
 do not include the authentication APIs (results in binary incompatibility)
 
address@hidden ``--disable-epoll
address@hidden ``--disable-httpupgrade''
+do not build code for HTTP ``Upgrade'' (smaller binary size, binary 
incompatible library)
+
address@hidden ``--disable-epoll''
 do not include epoll support, even if it supported (minimally smaller binary 
size, good for portability testing)
 
 @item ``--enable-coverage''
@@ -334,17 +337,18 @@ causing problems when porting to other platforms).
 
 @section SIGPIPE
 @cindex signals
-MHD does not install a signal handler for SIGPIPE.  On platforms
-where this is possible (such as GNU/Linux), it disables SIGPIPE for
-its I/O operations (by passing MSG_NOSIGNAL).  On other platforms,
-SIGPIPE signals may be generated from network operations by
-MHD and will cause the process to die unless the developer
-explicitly installs a signal handler for SIGPIPE.
+MHD does not install a signal handler for SIGPIPE.  On platforms where
+this is possible (such as GNU/Linux), it disables SIGPIPE for its I/O
+operations (by passing MSG_NOSIGNAL or similar).  On other platforms,
+SIGPIPE signals may be generated from network operations by MHD and
+will cause the process to die unless the developer explicitly installs
+a signal handler for SIGPIPE.
 
 Hence portable code using MHD must install a SIGPIPE handler or
-explicitly block the SIGPIPE signal.  MHD does not do so in order
-to avoid messing with other parts of the application that may
-need to handle SIGPIPE in a particular way.  You can make your application 
handle SIGPIPE by calling the following function in @code{main}:
+explicitly block the SIGPIPE signal.  MHD does not do so in order to
+avoid messing with other parts of the application that may need to
+handle SIGPIPE in a particular way.  You can make your application
+handle SIGPIPE by calling the following function in @code{main}:
 
 @verbatim
 static void
@@ -435,34 +439,36 @@ compiler).
 @deftp {Enumeration} MHD_FLAG
 Options for the MHD daemon.
 
-Note that MHD will run automatically in background thread(s) only
-if @code{MHD_USE_INTERNAL_POLLING_THREAD} is used. Otherwise caller
-(application) must use @code{MHD_run} or @code{MHD_run_from_select}
-to have MHD processed network connections and data.
+Note that MHD will run automatically in background thread(s) only if
address@hidden is used. Otherwise caller
+(application) must use @code{MHD_run} or @code{MHD_run_from_select} to
+have MHD processed network connections and data.
 
 Starting the daemon may also fail if a particular option is not
-implemented or not supported on the target platform (i.e. no support for
address@hidden, threads or IPv6).  SSL support generally depends on
-options given during MHD compilation.  Threaded operations
-(including @code{MHD_USE_INTERNAL_POLLING_THREAD}) are not supported on
-Symbian.
+implemented or not supported on the target platform (i.e. no support
+for @acronym{TLS}, threads or IPv6). TLS support generally depends on
+options given during MHD compilation. Threaded operations (including
address@hidden) are not supported on Symbian.
 
 @table @code
 @item MHD_NO_FLAG
 No options selected.
 
address@hidden MHD_USE_ERROR_LOG
+If this flag is used, the library should print error messages and
+warnings to stderr (or to custom error printer if it's specified by
+options).  Note that for this run-time option to have any effect, MHD
+needs to be compiled with messages enabled. This is done by default
+except you ran configure with the @code{--disable-messages} flag set.
+
 @item MHD_USE_DEBUG
 @cindex debugging
-Run in debug mode.  If this flag is used, the library should print error
-messages and warnings to stderr.  Note that for this
-run-time option to have any effect, MHD needs to be
-compiled with messages enabled. This is done by default except you ran
-configure with the @code{--disable-messages} flag set.
+Currently the same as @code{MHD_USE_ERROR_LOG}.
 
address@hidden MHD_USE_SSL
address@hidden MHD_USE_TLS
 @cindex TLS
 @cindex SSL
-Run in HTTPS-mode.  If you specify @code{MHD_USE_SSL} and MHD was
+Run in HTTPS-mode.  If you specify @code{MHD_USE_TLS} and MHD was
 compiled without SSL support, @code{MHD_start_daemon} will return
 NULL.
 
@@ -515,13 +521,13 @@ Use @code{epoll()} instead of @code{poll()} or 
@code{select()}. This
 allows sockets with descriptors @code{>= FD_SETSIZE}.  This option is
 only available on some systems and does not work in conjunction with
 @code{MHD_USE_THREAD_PER_CONNECTION} (at this point).  If you specify
address@hidden and the local platform does not
-support it, @code{MHD_start_daemon} will return NULL.  Using
address@hidden()} instead of @code{select()} or @code{poll()} can in some
-situations result in significantly higher performance as the system
-call has fundamentally lower complexity (O(1) for @code{epoll()}
-vs. O(n) for @code{select()}/@code{poll()} where n is the number of
-open connections).
address@hidden and the local platform does not support it,
address@hidden will return NULL.  Using @code{epoll()}
+instead of @code{select()} or @code{poll()} can in some situations
+result in significantly higher performance as the system call has
+fundamentally lower complexity (O(1) for @code{epoll()} vs. O(n) for
address@hidden()}/@code{poll()} where n is the number of open
+connections).
 
 @item MHD_USE_TURBO
 @cindex performance
@@ -559,14 +565,14 @@ connect HTTP clients to the HTTP server.  This option is 
incompatible
 with using a thread pool; if it is used,
 @code{MHD_OPTION_THREAD_POOL_SIZE} is ignored.
 
+
 @item MHD_USE_ITC
 @cindex quiesce
 Force MHD to use a signal inter-thread communication channel to notify
-the event loop (of threads) of our shutdown and other events.
-This is required if an application uses
address@hidden and then performs
address@hidden (which eliminates our ability to signal
-termination via the listen socket).  In these modes,
+the event loop (of threads) of our shutdown and other events.  This is
+required if an application uses @code{MHD_USE_INTERNAL_POLLING_THREAD}
+and then performs @code{MHD_quiesce_daemon} (which eliminates our
+ability to signal termination via the listen socket).  In these modes,
 @code{MHD_quiesce_daemon} will fail if this option was not set.  Also,
 use of this option is automatic (as in, you do not even have to
 specify it), if @code{MHD_USE_NO_LISTEN_SOCKET} is specified.  In
@@ -588,6 +594,7 @@ Enable TCP_FASTOPEN on the listen socket.  TCP_FASTOPEN is 
currently
 supported on Linux >= 3.6.  On other systems using this option with
 cause @code{MHD_start_daemon} to fail.
 
+
 @item MHD_ALLOW_UPGRADE
 @cindex upgrade
 This option must be set if you want to upgrade connections
@@ -595,6 +602,14 @@ This option must be set if you want to upgrade connections
 allocate additional resources, and hence we require this
 special flag so we only use the resources that are really needed.
 
+
address@hidden MHD_USE_AUTO
+Automatically select best event loop style (polling function)
+depending on requested mode by other MHD flags and functions available
+on platform.  If application doesn't have requirements for any
+specific polling function, it's recommended to use this flag.  This
+flag is very convenient for multiplatform applications.
+
 @end table
 @end deftp
 


hooks/post-receive
-- 
GNU libmicrohttpd



reply via email to

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