summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/SignalHandler.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2008-11-18 13:39:14 -0330
committerDwayne Boone <dwayne@zeroc.com>2008-11-18 13:39:14 -0330
commitac8bf31698d259127646a4e114deca1e7d5e334c (patch)
treef694a8fc9e17bbb0044082510e5d0dd5622cbedc /cpp/src/Slice/SignalHandler.cpp
parentRemoved debug statements (diff)
downloadice-ac8bf31698d259127646a4e114deca1e7d5e334c.tar.bz2
ice-ac8bf31698d259127646a4e114deca1e7d5e334c.tar.xz
ice-ac8bf31698d259127646a4e114deca1e7d5e334c.zip
Bug 3541 - Slice signal handling unsafe
Diffstat (limited to 'cpp/src/Slice/SignalHandler.cpp')
-rw-r--r--cpp/src/Slice/SignalHandler.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/cpp/src/Slice/SignalHandler.cpp b/cpp/src/Slice/SignalHandler.cpp
index b1fa6486f97..fa693d88db7 100644
--- a/cpp/src/Slice/SignalHandler.cpp
+++ b/cpp/src/Slice/SignalHandler.cpp
@@ -24,7 +24,6 @@ using namespace Slice;
// Signal handler routine to unlink output files in case of translator
// being interrupted.
//
-static SignalHandlerCallback _callback = 0;
static vector<string> _fileList;
#ifdef _WIN32
@@ -33,15 +32,12 @@ static BOOL WINAPI signalHandler(DWORD dwCtrlType)
static void signalHandler(int signal)
#endif
{
- if(_callback != 0)
- {
- _callback();
- }
-
for(unsigned int i = 0; i < _fileList.size(); ++i)
{
remove(_fileList[i].c_str());
}
+
+ exit(1);
}
@@ -70,12 +66,6 @@ Slice::SignalHandler::~SignalHandler()
}
void
-Slice::SignalHandler::setCallback(SignalHandlerCallback callback)
-{
- _callback = callback;
-}
-
-void
Slice::SignalHandler::addFile(const string& file)
{
_fileList.push_back(file);