mirror of https://github.com/Icinga/icinga2.git
parent
62408b9a33
commit
9fc5e6217a
|
@ -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 *))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue