aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjluehrs2 <jluehrs2@uiuc.edu>2007-10-10 14:30:32 -0500
committerjluehrs2 <jluehrs2@uiuc.edu>2007-10-10 14:30:32 -0500
commit6031545640d24282e09258680becf3e31298ff93 (patch)
treefc484b18bdf658884d741f5d5697060653acb54c
parent995881a599e8dea6de18e23c05ac4dcb670ba4ac (diff)
downloadluasignal-6031545640d24282e09258680becf3e31298ff93.tar.gz
luasignal-6031545640d24282e09258680becf3e31298ff93.zip
don't block signals during handler execution
-rw-r--r--src/signal.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/signal.c b/src/signal.c
index c833315..bc0292e 100644
--- a/src/signal.c
+++ b/src/signal.c
@@ -35,7 +35,9 @@ static void lua_signal_handler(lua_State* L, lua_Debug* D)
lua_getfield(gL, LUA_REGISTRYINDEX, REG_TABLE);
lua_getfield(gL, -1, signame);
lua_pushstring(gL, signame);
+ sigprocmask(SIG_SETMASK, &oldset, NULL);
lua_call(gL, 1, 0);
+ sigprocmask(SIG_BLOCK, &sset, &oldset);
}
sigprocmask(SIG_SETMASK, &oldset, NULL);