+2022-09-02 Aaron Merey <amerey@redhat.com>
+
+ * debuginfod.cxx (parse_opt): If '-C' is given with no arg, do not
+ update connection_pool since it will be done at a later point.
+ (main): Use auto-sized connection_pool if '-C' isn't given with an
+ arg. Do not use MHD_USE_THREAD_PER_CONNECTION.
+
2022-08-17 Martin Liska <mliska@suse.cz>
* debuginfod.cxx (handle_buildid): Update HTTP statistics only if
if (connection_pool < 2)
argp_failure(state, 1, EINVAL, "-C NUM minimum 2");
}
- else // arg not given
- connection_pool = std::thread::hardware_concurrency() * 2 ?: 2;
break;
case 'I':
// NB: no problem with unconditional free here - an earlier failed regcomp would exit program
}
}
+ /* If '-C' wasn't given or was given with no arg, pick a reasonable default
+ for the number of worker threads. */
+ if (connection_pool == 0)
+ connection_pool = std::thread::hardware_concurrency() * 2 ?: 2;
+
/* Note that MHD_USE_EPOLL and MHD_USE_THREAD_PER_CONNECTION don't
work together. */
unsigned int use_epoll = 0;
use_epoll = MHD_USE_EPOLL;
#endif
- unsigned int mhd_flags = ((connection_pool || use_epoll
- ? 0 : MHD_USE_THREAD_PER_CONNECTION)
+ unsigned int mhd_flags = (
#if MHD_VERSION >= 0x00095300
- | MHD_USE_INTERNAL_POLLING_THREAD
+ MHD_USE_INTERNAL_POLLING_THREAD
#else
- | MHD_USE_SELECT_INTERNALLY
+ MHD_USE_SELECT_INTERNALLY
#endif
| MHD_USE_DUAL_STACK
| use_epoll
handler_cb, NULL, /* handler callback */
MHD_OPTION_EXTERNAL_LOGGER,
error_cb, NULL,
- (connection_pool
- ? MHD_OPTION_THREAD_POOL_SIZE
- : MHD_OPTION_END),
- (connection_pool
- ? (int)connection_pool
- : MHD_OPTION_END),
+ MHD_OPTION_THREAD_POOL_SIZE,
+ (int)connection_pool,
MHD_OPTION_END);
MHD_Daemon *d4 = NULL;
+2022-09-02 Aaron Merey <amerey@redhat.com>
+
+ * debuginfod.8 (-C): Update description.
+
2022-06-03 Michael Trapp <michael.trapp@sap.com>
* debuginfod.8 (--disable-source-scan): Document.
optional NUM parameter.
.TS
l l.
-no option clone new thread for every request, no fixed pool
-\-C use a fixed thread pool sized automatically
+no option, \-C use a fixed thread pool sized automatically
\-C=NUM use a fixed thread pool sized NUM, minimum 2
.TE
-The first mode is useful for friendly bursty traffic. The second mode
-is a simple and safe configuration based on the number of processors.
-The third mode is suitable for tuned load-limiting configurations
-facing unruly traffic.
+The first mode is a simple and safe configuration based on the number
+of processors. The second mode is suitable for tuned load-limiting
+configurations facing unruly traffic.
.TP
.B "\-L"