diff --git a/lib/System/Unix/Signals.inc b/lib/System/Unix/Signals.inc
index a9af969..a643dbf 100644
--- a/lib/System/Unix/Signals.inc
+++ b/lib/System/Unix/Signals.inc
@@ -24,6 +24,9 @@
 
 namespace {
 
+/// InterruptFunction - The function to call if ctrl-c is pressed.
+void (*InterruptFunction)() = 0;
+
 std::vector<std::string> *FilesToRemove = 0 ;
 std::vector<llvm::sys::Path> *DirectoriesToRemove = 0;
 
@@ -116,8 +119,16 @@
       DirectoriesToRemove->pop_back();
     }
 
-  if (std::find(IntSigs, IntSigsEnd, Sig) != IntSigsEnd)
-    exit(1);   // If this is an interrupt signal, exit the program
+  if (std::find(IntSigs, IntSigsEnd, Sig) != IntSigsEnd) {
+    if (InterruptFunction) {
+      void (*IF)() = InterruptFunction;
+      InterruptFunction = 0;
+      IF();        // run the interrupt function.
+      return;
+    } else {
+      exit(1);   // If this is an interrupt signal, exit the program
+    }
+  }
 
   // Otherwise if it is a fault (like SEGV) output the stacktrace to
   // STDERR (if we can) and reissue the signal to die...
@@ -134,6 +145,11 @@
 
 namespace llvm {
 
+void sys::SetInterruptFunction(void (*IF)()) {
+  InterruptFunction = IF;
+  RegisterHandler(SIGINT);
+}
+
 // RemoveFileOnSignal - The public API
 void sys::RemoveFileOnSignal(const sys::Path &Filename) {
   if (FilesToRemove == 0)
diff --git a/lib/System/Win32/Signals.inc b/lib/System/Win32/Signals.inc
index 07d399a..a2c7ae2 100644
--- a/lib/System/Win32/Signals.inc
+++ b/lib/System/Win32/Signals.inc
@@ -109,6 +109,10 @@
   LeaveCriticalSection(&CriticalSection);
 }
 
+
+void sys::SetInterruptFunction(void (*IF)()) {
+  // Currently unimplemented.
+}
 }
 
 static void Cleanup() {
