Added MHD_OPTION_SIGPIPE_HANDLED_BY_APP option

This commit is contained in:
Evgeny Grin (Karlson2k) committed 2021-03-17 21:00:14 +03:00
1 parent d71df0f08b
commit 2e40251a93
2 files changed
+24 -2

No files matched your search

+13 -2
View File
@@ -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
};
+11
View File
@@ -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) &&