diff options
Diffstat (limited to 'src/kernel/proc.c')
-rw-r--r-- | src/kernel/proc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/kernel/proc.c b/src/kernel/proc.c index 79c4ed7..39f9e1f 100644 --- a/src/kernel/proc.c +++ b/src/kernel/proc.c @@ -208,6 +208,15 @@ handle_t process_find_handle(struct process *proc, handle_t start_at) { return handle; } +struct handle* +process_handle_get(struct process *p, handle_t id, enum handle_type type) { + struct handle *h; + if (id < 0 || id >= HANDLE_MAX) return NULL; + h = p->handles[id]; + if (h == NULL || h->type != type) return NULL; + return h; +} + void process_transition(struct process *p, enum process_state state) { enum process_state last = p->state; p->state = state; |