Index: trunk/Ohana/src/opihi/cmd.data/uniq.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/uniq.c	(revision 39297)
+++ trunk/Ohana/src/opihi/cmd.data/uniq.c	(revision 39457)
@@ -56,6 +56,5 @@
     int onePercent = ivec->Nelements / 100;
 
-    void *Signal = signal (SIGINT, handle_interrupt);
-    interrupt = FALSE;
+    struct sigaction *old_sigaction = SetInterrupt();
     for (i = 0; (i < ivec->Nelements) && !interrupt; Nnew++) {
       vtgt[Nnew] = *vsrc;
@@ -72,5 +71,5 @@
       }
     }
-    signal (SIGINT, Signal);
+    ClearInterrupt (old_sigaction);
     if (VERBOSE) gprint (GP_ERR, "\n");
     free (indata);
@@ -90,6 +89,5 @@
     int onePercent = ivec->Nelements / 100;
 
-    void *Signal = signal (SIGINT, handle_interrupt);
-    interrupt = FALSE;
+    struct sigaction *old_sigaction = SetInterrupt();
     for (i = 0; (i < ivec->Nelements) && !interrupt; Nnew++) {
       vtgt[Nnew] = *vsrc;
@@ -106,5 +104,5 @@
       }
     }
-    signal (SIGINT, Signal);
+    ClearInterrupt (old_sigaction);
     if (VERBOSE) gprint (GP_ERR, "\n");
     free (indata);
