diff options
Diffstat (limited to 'src/pkg/runtime/mprof.goc')
| -rw-r--r-- | src/pkg/runtime/mprof.goc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/pkg/runtime/mprof.goc b/src/pkg/runtime/mprof.goc index 4cd92d04a1..321a2801fd 100644 --- a/src/pkg/runtime/mprof.goc +++ b/src/pkg/runtime/mprof.goc @@ -436,7 +436,7 @@ saveg(uintptr pc, uintptr sp, G *gp, TRecord *r) } func GoroutineProfile(b Slice) (n int, ok bool) { - uintptr pc, sp; + uintptr pc, sp, i; TRecord *r; G *gp; @@ -455,7 +455,8 @@ func GoroutineProfile(b Slice) (n int, ok bool) { ok = true; r = (TRecord*)b.array; saveg(pc, sp, g, r++); - for(gp = runtime·allg; gp != nil; gp = gp->alllink) { + for(i = 0; i < runtime·allglen; i++) { + gp = runtime·allg[i]; if(gp == g || gp->status == Gdead) continue; saveg(~(uintptr)0, ~(uintptr)0, gp, r++); |
