Index: trunk/Ohana/src/opihi/dvo/mmatch.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/mmatch.c	(revision 39360)
+++ trunk/Ohana/src/opihi/dvo/mmatch.c	(revision 39457)
@@ -14,5 +14,4 @@
   int VERBOSE;
   char name[1024];
-  void *Signal;
   float RADIUS;
 
@@ -237,6 +236,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++) {
 
@@ -331,6 +329,5 @@
     dvo_catalog_free (&catalog);
   }
-  signal (SIGINT, Signal);
-  interrupt = FALSE;
+  ClearInterrupt (old_sigaction);
 
   for (n = 0; n < Nfields; n++) {
