//prints("\n");
}
+void
+tracebackothers(G *me)
+{
+ G *g;
+
+ for(g = allg; g != nil; g = g->alllink) {
+ if(g == me)
+ continue;
+ prints("\ngoroutine ");
+ sys·printint(g->goid);
+ prints(":\n");
+ traceback(g->sched.PC, g->sched.SP+8, g); // gogo adjusts SP by 8 (not portable!)
+ }
+}
+
G*
select(void)
{
byte* stackbase; // must not move
byte* stack0; // first stack segment
Gobuf sched;
- G* alllink; // on allq
+ G* alllink; // on allg
void* param; // passed parameter on wakeup
int16 status;
int32 goid;
uint32 cmpstring(string, string);
void initsig(void);
void traceback(uint8 *pc, uint8 *sp, G* gp);
+void tracebackothers(G*);
int32 open(byte*, int32, ...);
int32 read(int32, void*, int32);
int32 write(int32, void*, int32);