Index: trunk/Ohana/src/opihi/dvo/mextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/mextract.c	(revision 39360)
+++ trunk/Ohana/src/opihi/dvo/mextract.c	(revision 39457)
@@ -25,9 +25,8 @@
   
   off_t i, j, k, m; // used for counter averages and measures
-  int n, N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack;
+  int n, N, Npts, NPTS, last, next, state, Nfields, Nreturn, Nstack;
   int Nsecfilt, VERBOSE, loadImages;
   char **cstack, name[1024];
   dbValue *values;
-  void *Signal;
 
   Catalog catalog;
@@ -115,4 +114,5 @@
 
   // parse the remainder of the line as a boolean math expression
+  unsigned int Ncstack;
   cstack = isolate_elements (argc-next, &argv[next], &Ncstack);
   
@@ -217,8 +217,5 @@
 
   // grab data from all selected sky regions
-  Signal = signal (SIGINT, handle_interrupt);
-  interrupt = FALSE;
-
-  // fprintf (stderr, "done setup...");
+  struct sigaction *old_sigaction = SetInterrupt();
 
   for (i = 0; (i < skylist[0].Nregions) && !interrupt; i++) {
@@ -310,5 +307,5 @@
     // dbStackFreeReset ();
   }
-  signal (SIGINT, Signal);
+  ClearInterrupt (old_sigaction);
   interrupt = FALSE;
 
