summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kernel/proc.c4
-rw-r--r--src/kernel/proc.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/kernel/proc.c b/src/kernel/proc.c
index eea651f..eb36caf 100644
--- a/src/kernel/proc.c
+++ b/src/kernel/proc.c
@@ -6,6 +6,7 @@
struct process *process_first;
struct process *process_current;
+uint32_t next_pid = 0;
struct process *process_seed() {
struct process *proc = kmalloc(sizeof(struct process));
@@ -14,6 +15,7 @@ struct process *process_seed() {
proc->sibling = NULL;
proc->child = NULL;
proc->parent = NULL;
+ proc->id = next_pid++;
process_first = proc;
@@ -41,6 +43,8 @@ struct process *process_fork(struct process *parent) {
child->parent = parent;
parent->child = child;
+ child->id = next_pid++;
+
return child;
}
diff --git a/src/kernel/proc.h b/src/kernel/proc.h
index f50ab33..6bafca9 100644
--- a/src/kernel/proc.h
+++ b/src/kernel/proc.h
@@ -15,6 +15,8 @@ struct process {
struct process *sibling;
struct process *child;
struct process *parent;
+
+ uint32_t id; // only for debugging, don't expose to userland
};
extern struct process *process_first;