|
@@ -2180,7 +2180,7 @@ static struct mg_option config_options[] = {
|
|
|
#endif
|
|
|
#if defined(USE_LUA)
|
|
|
{"lua_background_script", CONFIG_TYPE_FILE, NULL},
|
|
|
- {"lua_background_script_params", CONFIG_TYPE_STRING_LIST, NULL },
|
|
|
+ {"lua_background_script_params", CONFIG_TYPE_STRING_LIST, NULL},
|
|
|
#endif
|
|
|
{"additional_header", CONFIG_TYPE_STRING_MULTILINE, NULL},
|
|
|
{"max_request_size", CONFIG_TYPE_NUMBER, "16384"},
|
|
@@ -2413,6 +2413,27 @@ typedef struct tagTHREADNAME_INFO {
|
|
|
|
|
|
#if defined(ALTERNATIVE_QUEUE)
|
|
|
|
|
|
+
|
|
|
+#ifdef __clang__
|
|
|
+#pragma clang diagnostic push
|
|
|
+#pragma clang diagnostic ignored "-Wunreachable-code"
|
|
|
+/* For every system, "(sizeof(int) == sizeof(void *))" is either always
|
|
|
+ * true or always false. One of the two branches is unreachable in any case.
|
|
|
+ * Unfortunately the C standard does not define a way to check this at
|
|
|
+ * compile time, since the #if preprocessor conditions can not use the sizeof
|
|
|
+ * operator as an argument. */
|
|
|
+#endif
|
|
|
+
|
|
|
+#if defined(__GNUC__) || defined(__MINGW32__)
|
|
|
+/* GCC does not realize one branch is unreachable, so it raises some
|
|
|
+ * pointer cast warning within the unreachable branch.
|
|
|
+ */
|
|
|
+#pragma GCC diagnostic push
|
|
|
+#pragma GCC diagnostic ignored "-Wint-to-pointer-cast"
|
|
|
+#pragma GCC diagnostic ignored "-Wpointer-to-int-cast"
|
|
|
+#endif
|
|
|
+
|
|
|
+
|
|
|
static void *
|
|
|
event_create(void)
|
|
|
{
|
|
@@ -2508,6 +2529,16 @@ event_destroy(void *eventhdl)
|
|
|
mg_free(eventhdl);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+#if defined(__GNUC__) || defined(__MINGW32__)
|
|
|
+#pragma GCC diagnostic pop
|
|
|
+#endif
|
|
|
+
|
|
|
+#ifdef __clang__
|
|
|
+#pragma clang diagnostic pop
|
|
|
+#endif
|
|
|
+
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
@@ -16091,12 +16122,12 @@ master_thread_run(void *thread_func_param)
|
|
|
#if defined(USE_LUA)
|
|
|
/* Free Lua state of lua background task */
|
|
|
if (ctx->lua_background_state) {
|
|
|
- lua_State* lstate = ( lua_State * )ctx->lua_background_state;
|
|
|
+ lua_State *lstate = (lua_State *)ctx->lua_background_state;
|
|
|
lua_getglobal(lstate, LUABACKGROUNDPARAMS);
|
|
|
if (lua_istable(lstate, -1)) {
|
|
|
reg_boolean(lstate, "shutdown", 1);
|
|
|
lua_pop(lstate, 1);
|
|
|
- mg_sleep( 2 );
|
|
|
+ mg_sleep(2);
|
|
|
}
|
|
|
lua_close(lstate);
|
|
|
ctx->lua_background_state = 0;
|
|
@@ -16444,18 +16475,19 @@ mg_start(const struct mg_callbacks *callbacks,
|
|
|
pthread_setspecific(sTlsKey, NULL);
|
|
|
return NULL;
|
|
|
}
|
|
|
- ctx->lua_background_state = (void*)state;
|
|
|
-
|
|
|
+ ctx->lua_background_state = (void *)state;
|
|
|
+
|
|
|
lua_newtable(state);
|
|
|
- reg_boolean(state, "shutdown", 0 );
|
|
|
-
|
|
|
+ reg_boolean(state, "shutdown", 0);
|
|
|
+
|
|
|
struct vec opt_vec;
|
|
|
struct vec eq_vec;
|
|
|
- const char* sparams = ctx->config[ LUA_BACKGROUND_SCRIPT_PARAMS ];
|
|
|
-
|
|
|
- while (( sparams = next_option( sparams, &opt_vec, &eq_vec)) != NULL) {
|
|
|
- reg_llstring( state, opt_vec.ptr, opt_vec.len, eq_vec.ptr, eq_vec.len );
|
|
|
- if ( mg_strncasecmp( sparams, opt_vec.ptr, opt_vec.len) == 0)
|
|
|
+ const char *sparams = ctx->config[LUA_BACKGROUND_SCRIPT_PARAMS];
|
|
|
+
|
|
|
+ while ((sparams = next_option(sparams, &opt_vec, &eq_vec)) != NULL) {
|
|
|
+ reg_llstring(
|
|
|
+ state, opt_vec.ptr, opt_vec.len, eq_vec.ptr, eq_vec.len);
|
|
|
+ if (mg_strncasecmp(sparams, opt_vec.ptr, opt_vec.len) == 0)
|
|
|
break;
|
|
|
}
|
|
|
lua_setglobal(state, LUABACKGROUNDPARAMS);
|