Index: trunk/Ohana/src/opihi/dvo/avmatch.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/avmatch.c	(revision 39360)
+++ trunk/Ohana/src/opihi/dvo/avmatch.c	(revision 39457)
@@ -17,5 +17,4 @@
   int VERBOSE;
   char name[1024], *found;
-  void *Signal;
   float RADIUS;
 
@@ -179,6 +178,5 @@
 
   // grab data from all selected sky regions
-  Signal = signal (SIGINT, handle_interrupt);
-  interrupt = FALSE;
+  struct sigaction *old_sigaction = SetInterrupt();
   for (i = 0; (i < skylist[0].Nregions) && !interrupt; i++) {
 
@@ -253,6 +251,5 @@
     dvo_catalog_free (&catalog);
   }
-  signal (SIGINT, Signal);
-  interrupt = FALSE;
+  ClearInterrupt (old_sigaction);
 
   // write vectors to a table (this is used by parallel dvo operations, but can be used elsewhere)
