A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Typo.
[simgrid.git]
/
src
/
xbt
/
backtrace_linux.c
diff --git
a/src/xbt/backtrace_linux.c
b/src/xbt/backtrace_linux.c
index
9704bc0
..
af6621a
100644
(file)
--- a/
src/xbt/backtrace_linux.c
+++ b/
src/xbt/backtrace_linux.c
@@
-58,6
+58,11
@@
backtrace_helper (struct _Unwind_Context *ctx, void *a)
* */
int xbt_backtrace_no_malloc(void **array, int size) {
* */
int xbt_backtrace_no_malloc(void **array, int size) {
+
+ int i = 0;
+ for(i=0; i < size; i++)
+ array[i] = NULL;
+
struct trace_arg arg = { .array = array, .size = size, .cnt = -1 };
if (size >= 1)
struct trace_arg arg = { .array = array, .size = size, .cnt = -1 };
if (size >= 1)
@@
-149,7
+154,7
@@
void xbt_ex_setup_backtrace(xbt_ex_t * e) //FIXME: This code could be greatly im
e->bt_strings = xbt_new(char *, 1);
e->bt_strings[0] =
e->bt_strings = xbt_new(char *, 1);
e->bt_strings[0] =
- bprintf("(binary '%s' not found
the path
)", xbt_binary_name);
+ bprintf("(binary '%s' not found
in the PATH
)", xbt_binary_name);
free(backtrace_syms);
return;
}
free(backtrace_syms);
return;
}
@@
-191,8
+196,7
@@
void xbt_ex_setup_backtrace(xbt_ex_t * e) //FIXME: This code could be greatly im
XBT_VERB("Fire a first command: '%s'", cmd);
pipe = popen(cmd, "r");
if (!pipe) {
XBT_VERB("Fire a first command: '%s'", cmd);
pipe = popen(cmd, "r");
if (!pipe) {
- XBT_CRITICAL("Cannot fork addr2line to display the backtrace");
- abort();
+ xbt_die("Cannot fork addr2line to display the backtrace");
}
for (i = 0; i < e->used; i++) {
}
for (i = 0; i < e->used; i++) {
@@
-301,8
+305,7
@@
void xbt_ex_setup_backtrace(xbt_ex_t * e) //FIXME: This code could be greatly im
XBT_VERB("Fire a new command: '%s'", subcmd);
subpipe = popen(subcmd, "r");
if (!subpipe) {
XBT_VERB("Fire a new command: '%s'", subcmd);
subpipe = popen(subcmd, "r");
if (!subpipe) {
- XBT_CRITICAL("Cannot fork addr2line to display the backtrace");
- abort();
+ xbt_die("Cannot fork addr2line to display the backtrace");
}
fgets_res = fgets(line_func, 1024, subpipe);
if (fgets_res == NULL)
}
fgets_res = fgets(line_func, 1024, subpipe);
if (fgets_res == NULL)