summaryrefslogtreecommitdiff
path: root/src/sign.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sign.cpp')
-rw-r--r--src/sign.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/sign.cpp b/src/sign.cpp
index ad3e02a..584b5f7 100644
--- a/src/sign.cpp
+++ b/src/sign.cpp
@@ -9,6 +9,13 @@ sign::clean_template_cache(int i_param)
wrap::HTML->clear_cache();
}
+//<<*
+void
+sign::reload_dlopen_modules(int i_param)
+{
+ wrap::MODL->reload_modules();
+}
+//*>>
#ifdef CTCSEGV
void
@@ -23,10 +30,19 @@ sign::terminate_received(int i_param)
{
#ifdef NCURSES
+ //<<*
+ if ( ! wrap::GCOL->remove_garbage() )
+ wrap::NCUR->print( GAROFFNE );
+ //*>>
mvprintw( 21,2, "Good bye !");
wrap::NCUR->close_ncurses();
+ //<<*
+#else
+
+ wrap::GCOL->remove_garbage();
+ //*>>
#endif
exit(0);
@@ -40,9 +56,12 @@ sign::init_signal_handlers()
signal(SIGPIPE, SIG_IGN);
signal(SIGUSR1, clean_template_cache);
+ signal(SIGUSR2, reload_dlopen_modules); //<<
#ifdef CTCSEGV
- signal(SIGSEGV, sigsev_received);
+
+ signal(SIGSEGV, sigsev_received);
#endif
+
signal(SIGHUP, terminate_received);
signal(SIGINT, terminate_received);
signal(SIGTERM, terminate_received);