diff options
author | Christian Grothoff <christian@grothoff.org> | 2017-03-25 20:44:27 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2017-03-25 20:55:33 +0100 |
commit | b8e9408180f5adf70fb759350c073954084186b7 (patch) | |
tree | ecf470e5a08a39def6f75b653eaf309f35d13159 | |
parent | bf7418b3d9288e9e0175651a9e3cf3297e197942 (diff) | |
download | libmicrohttpd-b8e9408180f5adf70fb759350c073954084186b7.tar.gz libmicrohttpd-b8e9408180f5adf70fb759350c073954084186b7.zip |
do not fail if MHD_OPTION_THREAD_POOL_SIZE is specified as 0 or 1 in combination with internal polling, that's OK (as a pool size of 0/1 means no pool)
-rw-r--r-- | src/microhttpd/daemon.c | 39 | ||||
-rw-r--r-- | src/microhttpd/test_upgrade.c | 16 |
2 files changed, 29 insertions, 26 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index 69180865..f2427902 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c | |||
@@ -4822,24 +4822,6 @@ 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 | } | ||
4843 | daemon->worker_pool_size = va_arg (ap, | 4825 | daemon->worker_pool_size = va_arg (ap, |
4844 | unsigned int); | 4826 | unsigned int); |
4845 | if (0 == daemon->worker_pool_size) | 4827 | if (0 == daemon->worker_pool_size) |
@@ -4868,6 +4850,27 @@ parse_options_va (struct MHD_Daemon *daemon, | |||
4868 | #endif | 4850 | #endif |
4869 | return MHD_NO; | 4851 | return MHD_NO; |
4870 | } | 4852 | } |
4853 | else | ||
4854 | { | ||
4855 | if (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) | ||
4856 | { | ||
4857 | #ifdef HAVE_MESSAGES | ||
4858 | MHD_DLOG (daemon, | ||
4859 | _("MHD_OPTION_THREAD_POOL_SIZE option is specified but " | ||
4860 | "MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n")); | ||
4861 | #endif | ||
4862 | return MHD_NO; | ||
4863 | } | ||
4864 | if (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) | ||
4865 | { | ||
4866 | #ifdef HAVE_MESSAGES | ||
4867 | MHD_DLOG (daemon, | ||
4868 | _("Both MHD_OPTION_THREAD_POOL_SIZE option and " | ||
4869 | "MHD_USE_THREAD_PER_CONNECTION flag are specified.\n")); | ||
4870 | #endif | ||
4871 | return MHD_NO; | ||
4872 | } | ||
4873 | } | ||
4871 | break; | 4874 | break; |
4872 | #ifdef HTTPS_SUPPORT | 4875 | #ifdef HTTPS_SUPPORT |
4873 | case MHD_OPTION_HTTPS_MEM_KEY: | 4876 | case MHD_OPTION_HTTPS_MEM_KEY: |
diff --git a/src/microhttpd/test_upgrade.c b/src/microhttpd/test_upgrade.c index fe72a70f..e96009c3 100644 --- a/src/microhttpd/test_upgrade.c +++ b/src/microhttpd/test_upgrade.c | |||
@@ -990,14 +990,14 @@ test_upgrade (int flags, | |||
990 | 990 | ||
991 | if (!test_tls) | 991 | if (!test_tls) |
992 | d = MHD_start_daemon (flags | MHD_USE_ERROR_LOG | MHD_ALLOW_UPGRADE, | 992 | d = MHD_start_daemon (flags | MHD_USE_ERROR_LOG | MHD_ALLOW_UPGRADE, |
993 | 1080, | 993 | 1080, |
994 | NULL, NULL, | 994 | NULL, NULL, |
995 | &ahc_upgrade, NULL, | 995 | &ahc_upgrade, NULL, |
996 | MHD_OPTION_URI_LOG_CALLBACK, &log_cb, NULL, | 996 | MHD_OPTION_URI_LOG_CALLBACK, &log_cb, NULL, |
997 | MHD_OPTION_NOTIFY_COMPLETED, ¬ify_completed_cb, NULL, | 997 | MHD_OPTION_NOTIFY_COMPLETED, ¬ify_completed_cb, NULL, |
998 | MHD_OPTION_NOTIFY_CONNECTION, ¬ify_connection_cb, NULL, | 998 | MHD_OPTION_NOTIFY_CONNECTION, ¬ify_connection_cb, NULL, |
999 | MHD_OPTION_THREAD_POOL_SIZE, pool, | 999 | MHD_OPTION_THREAD_POOL_SIZE, pool, |
1000 | MHD_OPTION_END); | 1000 | MHD_OPTION_END); |
1001 | #ifdef HTTPS_SUPPORT | 1001 | #ifdef HTTPS_SUPPORT |
1002 | else | 1002 | else |
1003 | d = MHD_start_daemon (flags | MHD_USE_ERROR_LOG | MHD_ALLOW_UPGRADE | MHD_USE_TLS, | 1003 | d = MHD_start_daemon (flags | MHD_USE_ERROR_LOG | MHD_ALLOW_UPGRADE | MHD_USE_TLS, |