the signal handling stack is a different size than
the normal stack, so it cannot be allocated using
the backup stack allocator.
Fixes #250.
R=agl1
CC=golang-dev
https://golang.org/cl/157044
for(g = allg; g != nil; g = g->alllink) {
if(g == me || g->status == Gdead)
continue;
- printf("\ngoroutine %d:\n", g->goid);
+ printf("\ngoroutine %d [%d]:\n", g->goid, g->status);
traceback(g->sched.pc, g->sched.sp, g);
}
}
static void
matchmg(void)
{
- M *m;
G *g;
+ if(m->mallocing)
+ return;
while(sched.mcpu < sched.mcpumax && (g = gget()) != nil){
+ M *m;
+
// Find the m that will run g.
if((m = mget(g)) == nil){
m = malloc(sizeof(M));