summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-05-08 02:10:34 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-05-08 02:10:34 +0000
commit68272566c6fc5e14f00516bd2890fcc3ac433c2d (patch)
tree17431724c231b8d15bddd487bec1c462d6a33a89 /llvm/lib
parentd43f08d06e96c960cef867a63d8fc0aba36e9633 (diff)
downloadbcm5719-llvm-68272566c6fc5e14f00516bd2890fcc3ac433c2d.tar.gz
bcm5719-llvm-68272566c6fc5e14f00516bd2890fcc3ac433c2d.zip
Add llvm::sys::RunInterruptHandlers(), which runs the registered SIGINT cleanup
stuff. llvm-svn: 103333
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/System/Unix/Signals.inc4
-rw-r--r--llvm/lib/System/Win32/Signals.inc4
2 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/System/Unix/Signals.inc b/llvm/lib/System/Unix/Signals.inc
index 56bf9e76e60..9548816e1d4 100644
--- a/llvm/lib/System/Unix/Signals.inc
+++ b/llvm/lib/System/Unix/Signals.inc
@@ -152,7 +152,9 @@ static RETSIGTYPE SignalHandler(int Sig) {
CallBacksToRun[i].first(CallBacksToRun[i].second);
}
-
+void llvm::sys::RunInterruptHandlers() {
+ SignalHandler(SIGINT);
+}
void llvm::sys::SetInterruptFunction(void (*IF)()) {
SignalsMutex.acquire();
diff --git a/llvm/lib/System/Win32/Signals.inc b/llvm/lib/System/Win32/Signals.inc
index f2b72ca70fd..a3a393c76e4 100644
--- a/llvm/lib/System/Win32/Signals.inc
+++ b/llvm/lib/System/Win32/Signals.inc
@@ -189,6 +189,10 @@ static void Cleanup() {
LeaveCriticalSection(&CriticalSection);
}
+void llvm::sys::RunInterruptHandlers() {
+ Cleanup();
+}
+
static LONG WINAPI LLVMUnhandledExceptionFilter(LPEXCEPTION_POINTERS ep) {
try {
Cleanup();
OpenPOWER on IntegriCloud