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<ContextTrace> l_LastExceptionContext;
#ifndef _WIN32
#ifndef __GLIBCXX__
#if !defined(__GLIBCXX__) && !defined(_WIN32)
static boost::thread_specific_ptr<void *> l_LastExceptionObj;
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_rethrow_primary_exception(void* thrown_object);
#endif /* __GLIBCXX__ */
#endif /* !__GLIBCXX__ && !_WIN32 */
void icinga::RethrowUncaughtException(void)
{
#ifdef __GLIBCXX__
#if defined(__GLIBCXX__) || defined(_WIN32)
throw;
#else /* __GLIBCXX__ */
#else /* __GLIBCXX__ || _WIN32 */
__cxa_throw(*l_LastExceptionObj.get(), *l_LastExceptionPvtInfo.get(), *l_LastExceptionDest.get());
#endif /* __GLIBCXX__ */
#endif /* __GLIBCXX__ || _WIN32 */
}
#ifndef _WIN32
extern "C"
void __cxa_throw(void *obj, void *pvtinfo, void (*dest)(void *))
{