diff src/gtk/menu-items.c @ 42:cd169e4789df

2002-10-29 Brian Masney <masneyb@gftp.org> * src/gtk/chmod_dialog.c src/gtk/delete_dialog.c src/gtk/gftp-gtk.c src/gtk/gftp-gtk.h src/gtk/menu-items.c src/gtk/misc-gtk.c src/gtk/mkdir_dialog.c src/gtk/rename_dialog.c src/gtk/transfer.c - improved and simplified signal handling code
author masneyb
date Wed, 30 Oct 2002 03:34:37 +0000
parents 4bcfaf6307b5
children 311e29c40ed6
line wrap: on
line diff
--- a/src/gtk/menu-items.c	Wed Oct 30 02:53:21 2002 +0000
+++ b/src/gtk/menu-items.c	Wed Oct 30 03:34:37 2002 +0000
@@ -23,8 +23,6 @@
 static int do_change_dir			( gftp_window_data * wdata,
 						  char * directory );
 static void *do_change_dir_thread 		( void * data );
-static RETSIGTYPE sig_chdirquit                 ( int signo );
-static sigjmp_buf chdirenvir;
 
 void
 change_setting (gftp_window_data * wdata, int menuitem, GtkWidget * checkmenu)
@@ -554,9 +552,8 @@
 
   if (wdata->request->use_threads)
     {
-      sj = sigsetjmp (chdirenvir, 1);
-      signal (SIGINT, sig_chdirquit);
-      signal (SIGALRM, sig_chdirquit);
+      sj = sigsetjmp (jmp_environment, 1);
+      use_jmp_environment = 1;
     }
   else
     sj = 0;
@@ -578,10 +575,7 @@
     }
 
   if (wdata->request->use_threads)
-    {
-      signal (SIGINT, SIG_DFL);
-      signal (SIGALRM, SIG_IGN);
-    }
+    use_jmp_environment = 0;
 
   wdata->request->user_data = NULL;
   wdata->request->stopable = 0;
@@ -589,14 +583,6 @@
 }
 
 
-static RETSIGTYPE
-sig_chdirquit (int signo)
-{
-  signal (signo, sig_chdirquit);
-  siglongjmp (chdirenvir, signo == SIGINT ? 1 : 2);
-}
-
-
 void 
 clearlog (gpointer data)
 {