add logging to thread and destructor
This commit is contained in:
@ -20,13 +20,13 @@ private:
|
||||
|
||||
public:
|
||||
IdleThread() {
|
||||
kout << "Initialized Idle Thread" << endl;
|
||||
log << INFO << "Initialized Idle Thread with ID: " << dec << this->tid << endl;
|
||||
}
|
||||
|
||||
void run() override {
|
||||
// Idle-Thread läuft, ab jetzt ist der Scheduler fertig initialisiert
|
||||
scheduler.enable_preemption();
|
||||
kout << "IdleThread enabled preemption" << endl;
|
||||
log << INFO << "IdleThread enabled preemption" << endl;
|
||||
|
||||
while (true) {
|
||||
// kout << "Idle!" << endl;
|
||||
|
||||
@ -30,6 +30,7 @@ extern "C" {
|
||||
void Thread_switch(struct ThreadState* regs_now, struct ThreadState* reg_then);
|
||||
}
|
||||
|
||||
Logger Thread::log = Logger("Thread");
|
||||
unsigned int ThreadCnt = 0;
|
||||
|
||||
/*****************************************************************************
|
||||
@ -107,6 +108,7 @@ void kickoff(Thread* object) {
|
||||
* stack Stack für die neue Koroutine *
|
||||
*****************************************************************************/
|
||||
Thread::Thread() : stack(new unsigned int[1024]), tid(ThreadCnt++) {
|
||||
Thread::log << INFO << "Initialized thread with ID: " << this->tid << endl;
|
||||
Thread_init(®s, stack + 1024, kickoff, this); // Stack grows from top to bottom
|
||||
}
|
||||
|
||||
|
||||
@ -29,20 +29,26 @@
|
||||
#define __Thread_include__
|
||||
|
||||
#include "kernel/threads/ThreadState.h"
|
||||
#include "lib/Chain.h"
|
||||
#include "user/lib/Logger.h"
|
||||
|
||||
class Thread : public Chain {
|
||||
class Thread {
|
||||
private:
|
||||
Thread(const Thread& copy) = delete; // Verhindere Kopieren
|
||||
|
||||
unsigned int* stack;
|
||||
struct ThreadState regs;
|
||||
|
||||
protected:
|
||||
static Logger log;
|
||||
|
||||
public:
|
||||
unsigned int tid; // Thread-ID (wird im Konstruktor vergeben)
|
||||
|
||||
Thread();
|
||||
~Thread();
|
||||
|
||||
virtual ~Thread() {
|
||||
delete[] this->stack;
|
||||
}
|
||||
|
||||
// Thread aktivieren
|
||||
void start();
|
||||
|
||||
Reference in New Issue
Block a user