- for (i=0; i<windows->len; ++i)
- {
- win = g_ptr_array_index (windows, i);
-
- if (win->number == number)
- {
- g_print ("Deleting window 0x%x (number %d)\n", win, win->number);
- g_ptr_array_remove_index (windows, i);
- g_object_unref (G_OBJECT(win));
- break;
- }
- }
+ /* Hook up signal handlers */
+ sa.sa_handler = tilda_termination_handler;
+ sigemptyset (&sa.sa_mask);
+ sa.sa_flags = 0;
+
+ sigaction (SIGINT, &sa, NULL);
+ sigaction (SIGQUIT, &sa, NULL);
+ sigaction (SIGABRT, &sa, NULL);
+ sigaction (SIGTERM, &sa, NULL);
+
+ /* SIGKILL cannot be caught according to sigaction(2) and signal(7) */
+ /* sigaction (SIGKILL, &sa, NULL); */