mirror of
https://github.com/systemd/systemd.git
synced 2025-01-12 13:18:14 +03:00
journal: make sure to set MHD_USE_PIPE_FOR_SHUTDOWN for libmicrohttpd servers
This makes sure libmicrohttpd won't call shutdown() on our listening sockets, which make sure socket activation and re-activation will work cleanly. See: https://github.com/systemd/systemd/pull/1286 https://lists.gnu.org/archive/html/libmicrohttpd/2015-09/msg00014.html Fixes #1286
This commit is contained in:
parent
e989fd9b67
commit
ef08ced6b4
@ -1010,7 +1010,22 @@ int main(int argc, char *argv[]) {
|
||||
{ MHD_OPTION_END, 0, NULL },
|
||||
{ MHD_OPTION_END, 0, NULL }};
|
||||
int opts_pos = 2;
|
||||
int flags = MHD_USE_THREAD_PER_CONNECTION|MHD_USE_POLL|MHD_USE_DEBUG;
|
||||
|
||||
/* We force MHD_USE_PIPE_FOR_SHUTDOWN here, in order
|
||||
* to make sure libmicrohttpd doesn't use shutdown()
|
||||
* on our listening socket, which would break socket
|
||||
* re-activation. See
|
||||
*
|
||||
* https://lists.gnu.org/archive/html/libmicrohttpd/2015-09/msg00014.html
|
||||
* https://github.com/systemd/systemd/pull/1286
|
||||
*/
|
||||
|
||||
int flags =
|
||||
MHD_USE_DEBUG |
|
||||
MHD_USE_DUAL_STACK |
|
||||
MHD_USE_PIPE_FOR_SHUTDOWN |
|
||||
MHD_USE_POLL |
|
||||
MHD_USE_THREAD_PER_CONNECTION;
|
||||
|
||||
if (n > 0)
|
||||
opts[opts_pos++] = (struct MHD_OptionItem)
|
||||
|
@ -647,9 +647,10 @@ static int setup_microhttpd_server(RemoteServer *s,
|
||||
int opts_pos = 3;
|
||||
int flags =
|
||||
MHD_USE_DEBUG |
|
||||
MHD_USE_PEDANTIC_CHECKS |
|
||||
MHD_USE_DUAL_STACK |
|
||||
MHD_USE_EPOLL_LINUX_ONLY |
|
||||
MHD_USE_DUAL_STACK;
|
||||
MHD_USE_PEDANTIC_CHECKS |
|
||||
MHD_USE_PIPE_FOR_SHUTDOWN;
|
||||
|
||||
const union MHD_DaemonInfo *info;
|
||||
int r, epoll_fd;
|
||||
|
Loading…
Reference in New Issue
Block a user