From: Arnaud Giersch Date: Thu, 19 Apr 2018 22:12:48 +0000 (+0200) Subject: Use SIGABRT when SIGTRAP is not available (win32). X-Git-Tag: v3.20~357 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/2b19c6c70693df49fb9c0f6e10696526342330ca Use SIGABRT when SIGTRAP is not available (win32). It's not the best idea but who cares? --- diff --git a/examples/s4u/CMakeLists.txt b/examples/s4u/CMakeLists.txt index 17d4664507..abcace22f3 100644 --- a/examples/s4u/CMakeLists.txt +++ b/examples/s4u/CMakeLists.txt @@ -105,7 +105,7 @@ foreach (example trace-platform) ${CMAKE_HOME_DIRECTORY}/examples/s4u/${example}/s4u-${example}.tesh) endforeach() -if (NOT enable_memcheck) +if (NOT enable_memcheck AND NOT WIN32) ADD_TESH(simix-breakpoint --setenv bindir=${CMAKE_CURRENT_BINARY_DIR}/app-pingpong --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms ${CMAKE_CURRENT_SOURCE_DIR}/app-pingpong/simix-breakpoint.tesh) diff --git a/src/simix/smx_global.cpp b/src/simix/smx_global.cpp index 683ed17858..bf34320c46 100644 --- a/src/simix/smx_global.cpp +++ b/src/simix/smx_global.cpp @@ -29,6 +29,7 @@ #endif #include +#include XBT_LOG_NEW_CATEGORY(simix, "All SIMIX categories"); XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_kernel, simix, "Logging specific to SIMIX (kernel)"); @@ -95,7 +96,7 @@ static void segvhandler(int signum, siginfo_t* siginfo, void* /*context*/) } #endif /* HAVE_SMPI */ } - raise(signum); + std::raise(signum); } char sigsegv_stack[SIGSTKSZ]; /* alternate stack for SIGSEGV handler */ @@ -200,7 +201,7 @@ void SIMIX_global_init(int *argc, char **argv) simgrid::kernel::actor::create_maestro(maestro_code); /* Prepare to display some more info when dying on Ctrl-C pressing */ - signal(SIGINT, inthandler); + std::signal(SIGINT, inthandler); #ifndef _WIN32 install_segvhandler(); @@ -400,7 +401,11 @@ void SIMIX_run() if (simgrid::simix::breakpoint >= 0.0 && time >= simgrid::simix::breakpoint) { XBT_DEBUG("Breakpoint reached (%g)", simgrid::simix::breakpoint.get()); simgrid::simix::breakpoint = -1.0; - raise(SIGTRAP); +#ifdef SIGTRAP + std::raise(SIGTRAP); +#else + std::raise(SIGABRT); +#endif } SIMIX_execute_tasks();