aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjluehrs2 <jluehrs2@uiuc.edu>2007-10-19 17:20:54 -0500
committerjluehrs2 <jluehrs2@uiuc.edu>2007-10-19 17:20:54 -0500
commit210a27d4cc7abe4bbfeba51e290866636b6e86c4 (patch)
treec5d5cf4cc21d10a3d68036647c74528d0935dc3b
parenta08bce4dfe676dfd6cc9381840bd7a8e1095e3ff (diff)
downloadluancurses-210a27d4cc7abe4bbfeba51e290866636b6e86c4.tar.gz
luancurses-210a27d4cc7abe4bbfeba51e290866636b6e86c4.zip
modify the rl test to clean up when it gets a signal
-rw-r--r--test/rl.lua18
1 files changed, 16 insertions, 2 deletions
diff --git a/test/rl.lua b/test/rl.lua
index 712f571..1fd35b2 100644
--- a/test/rl.lua
+++ b/test/rl.lua
@@ -1,4 +1,5 @@
require 'curses'
+require 'signal'
-- globals {{{
local map, rows, cols
@@ -20,6 +21,15 @@ local function botl(str)
curses.addstr({y = rows - 1, x = 0}, str)
curses.clrtoeol()
end
+
+local function cleanup(sig)
+ curses.clear()
+ curses.endwin()
+ if sig then
+ signal.signal(sig, "default")
+ signal.raise(sig)
+ end
+end
-- }}}
-- curses initialization {{{
@@ -31,6 +41,11 @@ for _, color in ipairs(colors) do
end
-- }}}
+-- cleanup on signals {{{
+signal.signal("TERM", cleanup)
+signal.signal("INT", cleanup)
+-- }}}
+
-- get the term size and the size of the map we want to draw {{{
rows, cols = curses.getmaxyx()
map = {ul = {x = 0, y = 1}, lr = {x = cols - 1, y = rows - 3}}
@@ -107,6 +122,5 @@ end
-- }}}
-- cleanup {{{
-curses.clear()
-curses.endwin()
+cleanup()
-- }}}