summaryrefslogtreecommitdiff
path: root/src/kernel/proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/proc.c')
-rw-r--r--src/kernel/proc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/kernel/proc.c b/src/kernel/proc.c
index 19b09a8..e504a5d 100644
--- a/src/kernel/proc.c
+++ b/src/kernel/proc.c
@@ -90,3 +90,13 @@ struct process *_process_find_recursive(
struct process *process_find(enum process_state target) {
return _process_find_recursive(target, process_first);
}
+
+handle_t process_find_handle(struct process *proc) {
+ handle_t handle;
+ for (handle = 0; handle < HANDLE_MAX; handle++) {
+ if (proc->handles[handle].type == HANDLE_EMPTY)
+ break;
+ }
+ if (handle == HANDLE_MAX) handle = -1;
+ return handle;
+}