summaryrefslogtreecommitdiff
path: root/src/l_sig_handler.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/l_sig_handler.c')
-rw-r--r--src/l_sig_handler.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/l_sig_handler.c b/src/l_sig_handler.c
index 35d8c14..cb9ba79 100644
--- a/src/l_sig_handler.c
+++ b/src/l_sig_handler.c
@@ -63,7 +63,7 @@ static int l_signal_handle(lua_State *L)
return 1;
}
-static const struct luaL_reg signal_funcs [] = {
+static const struct luaL_Reg signal_funcs [] = {
{ "init", l_signal_init },
{ "stop", l_signal_stop },
{ "handle", l_signal_handle },
@@ -73,6 +73,13 @@ static const struct luaL_reg signal_funcs [] = {
LUALIB_API int luaopen_signal(lua_State *L)
{
+#if LUA_VERSION_NUM > 501
+ lua_newtable(L);
+ luaL_setfuncs(L, signal_funcs, 0);
+ lua_pushvalue(L, -1);
+ lua_setglobal(L, LUA_SIGNALLIBNAME);
+#else
luaL_register(L, LUA_SIGNALLIBNAME, signal_funcs);
+#endif
return 1;
}