xbt_backtrace_display(&e);
}
+#ifndef WIN32
extern char **environ; /* the environment, as specified by the opengroup */
+#endif
void xbt_ex_setup_backtrace(xbt_ex_t *e) {
#if defined(HAVE_EXECINFO_H) && defined(HAVE_POPEN) && defined(ADDR2LINE)
for (i=0; environ[i]; i++) {
if (!strncmp("PATH=",environ[i], 5)) {
xbt_dynar_t path=xbt_str_split(environ[i] + 5, ":");
- int cpt;
+ unsigned int cpt;
char *data;
xbt_dynar_foreach(path, cpt, data) {
if (binary_name)
char *thrower=NULL;
if (e->remote)
- bprintf(" on host %s(%d)",e->host,e->pid);
+ thrower = bprintf(" on host %s(%d)",e->host,e->pid);
fprintf(stderr,
"** SimGrid: UNCAUGHT EXCEPTION received on %s(%d): category: %s; value: %d\n"
}
/* the externally visible API */
-XBT_PUBLIC_DATA(ex_ctx_cb_t) __xbt_ex_ctx = &__xbt_ex_ctx_default;
-XBT_PUBLIC_DATA(ex_term_cb_t) __xbt_ex_terminate = &__xbt_ex_terminate_default;
+XBT_EXPORT_NO_IMPORT(ex_ctx_cb_t) __xbt_ex_ctx = &__xbt_ex_ctx_default;
+XBT_EXPORT_NO_IMPORT(ex_term_cb_t) __xbt_ex_terminate = &__xbt_ex_terminate_default;
void xbt_ex_free(xbt_ex_t e) {