aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2017-03-24 15:44:27 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2017-03-24 15:44:27 +0300
commit0571f7bf52614ac091b9ae37a739539f4dbc0a5a (patch)
tree09a1a9a2311748c1fd74eced18daee0adce14f9b
parent65e7a45faac536f7ca00ecca59e6689cb2dff858 (diff)
downloadlibmicrohttpd-0571f7bf52614ac091b9ae37a739539f4dbc0a5a.tar.gz
libmicrohttpd-0571f7bf52614ac091b9ae37a739539f4dbc0a5a.zip
Check for invalid combinations of MHD_OPTION_THREAD_POOL_SIZE and daemon flags.
-rw-r--r--src/microhttpd/daemon.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index cbf57773..296c0ee8 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -4822,6 +4822,24 @@ parse_options_va (struct MHD_Daemon *daemon,
4822 void *); 4822 void *);
4823 break; 4823 break;
4824 case MHD_OPTION_THREAD_POOL_SIZE: 4824 case MHD_OPTION_THREAD_POOL_SIZE:
4825 if (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD))
4826 {
4827#ifdef HAVE_MESSAGES
4828 MHD_DLOG (daemon,
4829 _("MHD_OPTION_THREAD_POOL_SIZE option is specified but "
4830 "MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n"));
4831#endif
4832 return MHD_NO;
4833 }
4834 if (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION))
4835 {
4836#ifdef HAVE_MESSAGES
4837 MHD_DLOG (daemon,
4838 _("Both MHD_OPTION_THREAD_POOL_SIZE option and "
4839 "MHD_USE_THREAD_PER_CONNECTION flag are specified.\n"));
4840#endif
4841 return MHD_NO;
4842 }
4825 daemon->worker_pool_size = va_arg (ap, 4843 daemon->worker_pool_size = va_arg (ap,
4826 unsigned int); 4844 unsigned int);
4827 if (0 == daemon->worker_pool_size) 4845 if (0 == daemon->worker_pool_size)