1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 07:57:46 +00:00

Unify the Task constructors.

There's now Task::create() and Task::createKernelTask().
This commit is contained in:
Andreas Kling 2018-10-25 11:15:17 +02:00
parent dff516f6d0
commit 434b6a8688
3 changed files with 60 additions and 127 deletions

View file

@ -15,8 +15,9 @@ class Zone;
class Task : public InlineLinkedListNode<Task> {
friend class InlineLinkedListNode<Task>;
public:
static Task* create(const String& path, uid_t, gid_t, pid_t parentPID);
Task(String&& name, uid_t, gid_t, pid_t parentPID);
static Task* createKernelTask(void (*entry)(), String&& name);
static Task* createUserTask(const String& path, uid_t, gid_t, pid_t parentPID);
~Task();
static Vector<Task*> allTasks();
@ -43,13 +44,11 @@ public:
};
bool isRing0() const { return m_ring == Ring0; }
bool isRing3() const { return m_ring == Ring3; }
static Task* fromPID(pid_t);
static Task* kernelTask();
Task(void (*entry)(), const char* name, RingLevel);
~Task();
const String& name() const { return m_name; }
pid_t pid() const { return m_pid; }
DWORD ticks() const { return m_ticks; }
@ -117,6 +116,8 @@ public:
private:
friend class MemoryManager;
Task(String&& name, uid_t, gid_t, pid_t parentPID, RingLevel);
FileHandle* openFile(String&&);
void allocateLDT();