#include "lua.h"
#include "lauxlib.h"
+#if (LUA_VERSION_NUM == 502)
+#define luaL_register(L, N, R) luaL_setfuncs(L, R, 0)
+#endif
+
#ifndef lsig
#define lsig
static void sighook(lua_State *L, lua_Debug *ar)
{
+ struct signal_event *event;
/* restore the old hook */
lua_sethook(L, Hsig, Hmask, Hcount);
lua_pushstring(L, LUA_SIGNAL);
lua_gettable(L, LUA_REGISTRYINDEX);
- struct signal_event *event;
while((event = signal_queue))
{
lua_pushnumber(L, event->Nsig);
return 1;
}
-#if defined _POSIX_SOURCE || (defined(sun) || defined(__sun))
+#if defined(__unix__) || defined(__APPLE__)
/* define some posix only functions */
static const struct luaL_Reg lsignal_lib[] = {
{"signal", l_signal},
{"raise", l_raise},
-#if defined _POSIX_SOURCE || (defined(sun) || defined(__sun))
+#if defined(__unix__) || defined(__APPLE__)
{"kill", l_kill},
#endif
{NULL, NULL}
int i = 0;
/* add the library */
- luaL_register(L, "signal", lsignal_lib);
+ lua_newtable(L);
+ luaL_register(L, NULL, lsignal_lib);
/* push lua_signals table into the registry */
/* put the signals inside the library table too,
* they are only a reference */
lua_pushstring(L, LUA_SIGNAL);
- lua_createtable(L, 0, 0);
+ lua_newtable(L);
while (lua_signals[i].name != NULL)
{