cur->ThreadName = "Idle Thread";
Threads_SetTickets(0); // Never called randomly
cur->Quantum = 1; // 1 slice quantum
- for(;;) __asm__ __volatile__ ("hlt"); // Just yeilds
+ HALT();
+ for(;;) {
+ //Log("---- Idle");
+ //Threads_Dump();
+ HALT(); // Just yeilds
+ }
}
#endif
*/
int Threads_WaitTID(int TID, int *status)
{
+ Threads_Dump();
+
// Any Child
if(TID == -1) {
*/
void Threads_Yield()
{
- Proc_GetCurThread()->Quantum = 0;
+ Proc_GetCurThread()->Remaining = 0;
HALT();
}
tThread *cur = Proc_GetCurThread();
tThread *thread;
- //Log("Proc_Sleep: %i going to sleep", gCurrentThread->TID);
+ Log("Proc_Sleep: %i going to sleep", cur->TID);
// Acquire Spinlock
LOCK( &giThreadListLock );
return gActiveThreads;
}
+ Log("giNumActiveThreads=%i,giTotalTickets=%i",
+ giNumActiveThreads, giTotalTickets);
// Get the ticket number
ticket = number = rand() % giTotalTickets;