runtime: Don't allocate when doing a backtrace.
From-SVN: r195615
This commit is contained in:
parent
b5fbde9215
commit
422e2fc062
1 changed files with 8 additions and 2 deletions
|
@ -43,8 +43,14 @@ callback (void *data, uintptr_t pc, const char *filename, int lineno,
|
|||
|
||||
loc = &arg->locbuf[arg->index];
|
||||
loc->pc = pc;
|
||||
loc->filename = runtime_gostring ((const byte *) filename);
|
||||
loc->function = runtime_gostring ((const byte *) function);
|
||||
|
||||
/* The libbacktrace library says that these strings might disappear,
|
||||
but with the current implementation they won't. We can't easily
|
||||
allocate memory here, so for now assume that we can save a
|
||||
pointer to the strings. */
|
||||
loc->filename = runtime_gostringnocopy ((const byte *) filename);
|
||||
loc->function = runtime_gostringnocopy ((const byte *) function);
|
||||
|
||||
loc->lineno = lineno;
|
||||
++arg->index;
|
||||
return arg->index >= arg->max;
|
||||
|
|
Loading…
Add table
Reference in a new issue