diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2009-11-08 12:46:34 +0100 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2009-11-08 12:46:34 +0100 |
commit | af6c7af6784b1e1b720077f7814cb07b0127b4bb (patch) | |
tree | b2c861da93bb3e8c6b35534115bd0b427a76d108 /main.c | |
parent | 16f075f95d55466856cf7f3fdea2c503b2fcd7cf (diff) |
added sigterm handler
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -29,6 +29,7 @@ #include <sys/fcntl.h> #include <sys/errno.h> #include <sys/prctl.h> +#include <signal.h> #ifdef HAVE_CONFIG_H # include <config.h> #endif @@ -555,6 +556,15 @@ on_trayicon_popup_menu (GtkWidget *widget, return FALSE; } +void +sigterm_handler (int sig) { + fprintf (stderr, "got sigterm, saving...\n"); + pl_save (defpl); + conf_save (); + fprintf (stderr, "bye.\n"); + exit (0); +} + int main (int argc, char *argv[]) { srand (time (NULL)); @@ -655,6 +665,7 @@ main (int argc, char *argv[]) { } close(s); + signal (SIGTERM, sigterm_handler); // become a server server_start (); |