commit - bcf527a98e295548629620a7cb06ada951db7822
commit + 80e841abcf573502565d34aedd50ff3ca71cff0f
blob - 5b5337e01b293849afe96c1b7d1a95ace6196156
blob + 54b2c0729dd8db8cddcfe369634f08b563fdff12
--- acid/thread
+++ acid/thread
P = (Proc)_threadpq.$head;
while P != 0 do{
proc(P);
+ if mainpid != P.pid then setproc(P.pid);
// setproc(P.pid);
// if P.thread==0 then{
// print("=== thread scheduler stack\n");
// }
// print("threadstks(", P\X, ")\n");
threadstks(P);
+ if mainpid != P.pid then setproc(mainpid);
P = (Proc)P.next;
print("\n");
}
P = (Proc)_threadpq.$head;
while P != 0 do{
P = (Proc)P;
+ if mainpid != P.pid then setproc(P.pid);
Tq = (Tqueue)P.threads;
T = (Thread)Tq.$head;
while T != 0 do{
if T.state==Running then {
sp = *SP;
}else{
- sp = *(T.sched);
+ sp = T.sched.sp;
}
- sp = *(T.sched);
- print(top-sp\D, "\n");
+ print(top-sp\D, " of ", T.stksize\D, " - 0x", top\X, " 0x", sp\X, " ", *T.stk\X, "\n");
T = (Thread)T.nextt;
}
+ if mainpid != P.pid then setproc(mainpid);
P = P.next;
}
// setproc(mainpid);