Build fix for Windows.

Refs #6008
This commit is contained in:
Gunnar Beutner 2014-04-14 09:50:54 +02:00
parent 62408b9a33
commit 9fc5e6217a
1 changed files with 6 additions and 6 deletions

View File

@ -24,8 +24,7 @@ using namespace icinga;
static boost::thread_specific_ptr<StackTrace> l_LastExceptionStack; static boost::thread_specific_ptr<StackTrace> l_LastExceptionStack;
static boost::thread_specific_ptr<ContextTrace> l_LastExceptionContext; static boost::thread_specific_ptr<ContextTrace> l_LastExceptionContext;
#ifndef _WIN32 #if !defined(__GLIBCXX__) && !defined(_WIN32)
#ifndef __GLIBCXX__
static boost::thread_specific_ptr<void *> l_LastExceptionObj; static boost::thread_specific_ptr<void *> l_LastExceptionObj;
static boost::thread_specific_ptr<void *> l_LastExceptionPvtInfo; static boost::thread_specific_ptr<void *> l_LastExceptionPvtInfo;
@ -34,17 +33,18 @@ static boost::thread_specific_ptr<DestCallback> l_LastExceptionDest;
extern "C" void __cxa_throw(void *obj, void *pvtinfo, void (*dest)(void *)); extern "C" void __cxa_throw(void *obj, void *pvtinfo, void (*dest)(void *));
extern "C" void __cxa_rethrow_primary_exception(void* thrown_object); extern "C" void __cxa_rethrow_primary_exception(void* thrown_object);
#endif /* __GLIBCXX__ */ #endif /* !__GLIBCXX__ && !_WIN32 */
void icinga::RethrowUncaughtException(void) void icinga::RethrowUncaughtException(void)
{ {
#ifdef __GLIBCXX__ #if defined(__GLIBCXX__) || defined(_WIN32)
throw; throw;
#else /* __GLIBCXX__ */ #else /* __GLIBCXX__ || _WIN32 */
__cxa_throw(*l_LastExceptionObj.get(), *l_LastExceptionPvtInfo.get(), *l_LastExceptionDest.get()); __cxa_throw(*l_LastExceptionObj.get(), *l_LastExceptionPvtInfo.get(), *l_LastExceptionDest.get());
#endif /* __GLIBCXX__ */ #endif /* __GLIBCXX__ || _WIN32 */
} }
#ifndef _WIN32
extern "C" extern "C"
void __cxa_throw(void *obj, void *pvtinfo, void (*dest)(void *)) void __cxa_throw(void *obj, void *pvtinfo, void (*dest)(void *))
{ {