BUG/MINOR: lua-thread: close all states on deinit

It seems to me that lua_close() must be called on all states at deinit
time, not just the first two ones. This is likely a remnant of commit
59f11be43 ("MEDIUM: lua-thread: Add the lua-load-per-thread directive").
There should likely be some memory leak reports when using Lua without
this fix, though none were observed for now.

No backport is needed as this was merged into 2.4-dev.
diff --git a/src/hlua.c b/src/hlua.c
index 66d0b7b..fbccaaa 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -191,7 +191,7 @@
 /* The main Lua execution context. The 0 index is the
  * common state shared by all threads.
  */
-lua_State *hlua_states[MAX_THREADS + 1];
+static lua_State *hlua_states[MAX_THREADS + 1];
 
 /* This is the memory pool containing struct lua for applets
  * (including cli).
@@ -9287,8 +9287,12 @@
 
 static void hlua_deinit()
 {
-	lua_close(hlua_states[0]);
-	lua_close(hlua_states[1]);
+	int thr;
+
+	for (thr = 0; thr < MAX_THREADS+1; thr++) {
+		if (hlua_states[thr])
+			lua_close(hlua_states[thr]);
+	}
 }
 
 REGISTER_POST_DEINIT(hlua_deinit);