mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-10-09 23:43:54 +03:00
Added MHD_OPTION_SIGPIPE_HANDLED_BY_APP option
This commit is contained in:
2 files changed
+24
-2
No files matched your search
@@ -135,7 +135,7 @@ typedef intptr_t ssize_t;
|
||||
* they are parsed as decimal numbers.
|
||||
* Example: 0x01093001 = 1.9.30-1.
|
||||
*/
|
||||
#define MHD_VERSION 0x00097204
|
||||
#define MHD_VERSION 0x00097205
|
||||
|
||||
/**
|
||||
* Operational results from MHD calls.
|
||||
@@ -1732,7 +1732,18 @@ enum MHD_OPTION
|
||||
* This argument must be followed by an "unsigned int", corresponding
|
||||
* to an `enum MHD_DisableSanityCheck`.
|
||||
*/
|
||||
MHD_OPTION_SERVER_INSANITY = 32
|
||||
MHD_OPTION_SERVER_INSANITY = 32,
|
||||
|
||||
/**
|
||||
* If followed by value '1' informs MHD that SIGPIPE is suppressed or
|
||||
* handled by application. Allows MHD to use network functions that could
|
||||
* generate SIGPIPE, like `sendfile()`.
|
||||
* Valid only for daemons without #MHD_USE_INTERNAL_POLLING_THREAD as
|
||||
* MHD automatically suppresses SIGPIPE for threads started by MHD.
|
||||
* This option should be followed by an `int` argument.
|
||||
* @note Available since #MHD_VERSION 0x00097205
|
||||
*/
|
||||
MHD_OPTION_SIGPIPE_HANDLED_BY_APP = 33
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -5849,6 +5849,7 @@ parse_options_va (struct MHD_Daemon *daemon,
|
||||
break;
|
||||
/* all options taking 'int' */
|
||||
case MHD_OPTION_STRICT_FOR_CLIENT:
|
||||
case MHD_OPTION_SIGPIPE_HANDLED_BY_APP:
|
||||
if (MHD_NO == parse_options (daemon,
|
||||
servaddr,
|
||||
opt,
|
||||
@@ -5927,6 +5928,16 @@ parse_options_va (struct MHD_Daemon *daemon,
|
||||
return MHD_NO;
|
||||
#endif
|
||||
#endif /* HTTPS_SUPPORT */
|
||||
case MHD_OPTION_SIGPIPE_HANDLED_BY_APP:
|
||||
if (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD))
|
||||
daemon->sigpipe_blocked = ( (va_arg (ap,
|
||||
int)) != 0);
|
||||
else
|
||||
{
|
||||
(void) va_arg (ap,
|
||||
int);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
#ifdef HAVE_MESSAGES
|
||||
if ( ( (opt >= MHD_OPTION_HTTPS_MEM_KEY) &&
|
||||
|
||||
Reference in new issue
Block a user