X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1b89437671ba572a199dd4ff5766ba82720cdf03..cefad23a9d9a13805bb7b6017d8d9e0585d639d5:/src/kernel/context/ContextThread.cpp diff --git a/src/kernel/context/ContextThread.cpp b/src/kernel/context/ContextThread.cpp index 42d2be6304..6be2b09da8 100644 --- a/src/kernel/context/ContextThread.cpp +++ b/src/kernel/context/ContextThread.cpp @@ -87,12 +87,7 @@ void ThreadContext::wrapper(ThreadContext* context) Context::set_current(context); #ifndef WIN32 - /* Install alternate signal stack, for SIGSEGV handler. */ - stack_t stack; - stack.ss_sp = sigsegv_stack; - stack.ss_size = sizeof sigsegv_stack; - stack.ss_flags = 0; - sigaltstack(&stack, nullptr); + install_sigsegv_stack(nullptr, true); #endif // Tell the caller (normally the maestro) we are starting, and wait for its green light context->end_.release(); @@ -115,8 +110,7 @@ void ThreadContext::wrapper(ThreadContext* context) context->yield(); #ifndef WIN32 - stack.ss_flags = SS_DISABLE; - sigaltstack(&stack, nullptr); + install_sigsegv_stack(nullptr, false); #endif XBT_DEBUG("Terminating"); Context::set_current(nullptr);