diff options
Diffstat (limited to 'Source/Kernel/TaskManager')
-rw-r--r-- | Source/Kernel/TaskManager/Process.class.cpp | 1 | ||||
-rw-r--r-- | Source/Kernel/TaskManager/Process.class.h | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/Source/Kernel/TaskManager/Process.class.cpp b/Source/Kernel/TaskManager/Process.class.cpp index ce0a1d7..5859f86 100644 --- a/Source/Kernel/TaskManager/Process.class.cpp +++ b/Source/Kernel/TaskManager/Process.class.cpp @@ -78,6 +78,7 @@ Process::Process(String binfile, u32int uid) : Ressource(PRIF_OBJTYPE, m_callTab m_retval = 0; m_state = P_STARTING; m_uid = uid; + m_cwd = Task::currProcess()->getCwd(); m_inVT = Task::currProcess()->getInVT(); m_outVT = Task::currProcess()->getOutVT(); m_fileDescriptors = 0; diff --git a/Source/Kernel/TaskManager/Process.class.h b/Source/Kernel/TaskManager/Process.class.h index 24df783..d0556e5 100644 --- a/Source/Kernel/TaskManager/Process.class.h +++ b/Source/Kernel/TaskManager/Process.class.h @@ -8,6 +8,7 @@ #include <Heap.class.h> #include <VTManager/VirtualTerminal.proto.h> #include <VFS/File.class.h> +class DirectoryNode; #include <SyscallManager/Ressource.class.h> @@ -42,6 +43,7 @@ class Process : public Ressource { PageDirectory* m_pagedir; u32int m_uid; //User ID VirtualTerminal *m_inVT, *m_outVT; + DirectoryNode *m_cwd; Heap *m_userHeap; @@ -79,6 +81,9 @@ class Process : public Ressource { u32int getPid() { return m_pid; } u32int getPpid() { return m_ppid; } + void setCwd(DirectoryNode *cwd) { m_cwd = cwd; } + DirectoryNode *getCwd() { return m_cwd; } + VirtualTerminal* getInVT(); VirtualTerminal* getOutVT(); void setInVT(VirtualTerminal* vt); |