示例#1
0
文件: ex.c 项目: rosacris/simgrid
void xbt_backtrace_display(xbt_ex_t * e)
{
    xbt_ex_setup_backtrace(e);

#ifdef HAVE_BACKTRACE
    if (e->used == 0) {
        fprintf(stderr, "(backtrace not set)\n");
    } else {
        int i;

        fprintf(stderr, "Backtrace (displayed in thread %p):\n",
                (void *) xbt_thread_self());
        for (i = 1; i < e->used; i++)       /* no need to display "xbt_display_backtrace" */
            fprintf(stderr, "---> %s\n", e->bt_strings[i] + 4);
    }

    /* don't fool xbt_ex_free with uninitialized msg field */
    e->msg = NULL;
    e->remote = 0;
    xbt_ex_free(*e);
#else

    XBT_ERROR("No backtrace on this arch");
#endif
}
示例#2
0
const char *xbt_thread_self_name(void)
{
  xbt_thread_t me = xbt_thread_self();
  return me ? me->name : "maestro";
}