X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1847d1441271d076b3de449c8853031ea208ce8f..dd3cea7977c08211bae909e128388329d6d568cb:/src/kernel/context/ContextThread.cpp diff --git a/src/kernel/context/ContextThread.cpp b/src/kernel/context/ContextThread.cpp index 67a641879e..991e60a6af 100644 --- a/src/kernel/context/ContextThread.cpp +++ b/src/kernel/context/ContextThread.cpp @@ -179,6 +179,10 @@ void *ThreadContext::maestro_wrapper(void *param) // Tell main that we have finished: xbt_os_sem_release(context->end_); +#ifndef WIN32 + stack.ss_flags = SS_DISABLE; + sigaltstack(&stack, nullptr); +#endif return nullptr; } @@ -198,6 +202,11 @@ void ThreadContext::stop() // Signal to the maestro that it has finished: xbt_os_sem_release(this->end_); +#ifndef WIN32 + stack_t stack = {0}; + stack.ss_flags = SS_DISABLE; + sigaltstack(&stack, nullptr); +#endif xbt_os_thread_exit(nullptr); }