diff options
Diffstat (limited to 'src/sign.cpp')
| -rw-r--r-- | src/sign.cpp | 21 |
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); |
