X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b48a2fd4e7621cbc0f96e39bf7db3a0263232908..b44a4c1363c2831e4ce15471740af17c7b0f4c08:/src/gras/gras.c diff --git a/src/gras/gras.c b/src/gras/gras.c index 35b79801e1..576f2d70a1 100644 --- a/src/gras/gras.c +++ b/src/gras/gras.c @@ -17,11 +17,18 @@ #include "gras.h" #include "gras/process.h" /* FIXME: killme and put process_init in modinter */ -#include "portable.h" /* hexa_*() */ +#include "portable.h" /* hexa_*(); signalling stuff */ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(gras,XBT_LOG_ROOT_CAT,"All GRAS categories (cf. section \ref GRAS_API)"); static int gras_running_process = 0; +#if defined(HAVE_SIGNAL) && defined(HAVE_SIGNAL_H) +static void gras_sigusr_handler(int sig) { + INFO0("SIGUSR1 received. Display the backtrace"); + xbt_backtrace_display(); +} +#endif + void gras_init(int *argc,char **argv) { VERB0("Initialize GRAS"); @@ -50,6 +57,9 @@ void gras_init(int *argc,char **argv) { gras_msg_init(); gras_trp_init(); gras_datadesc_init(); +#if defined(HAVE_SIGNAL) && defined(HAVE_SIGNAL_H) + signal(SIGUSR1,gras_sigusr_handler); +#endif } }