From: Matthias Kruk Date: Mon, 25 Nov 2019 05:08:51 +0000 (+0900) Subject: Remove fds from processes in the kernel X-Git-Url: https://git.corax.cc/?a=commitdiff_plain;h=0f2974347edc46a07c1c6cdf147d80817d7a3971;p=corax Remove fds from processes in the kernel --- diff --git a/kernel/core/process.c b/kernel/core/process.c index 8a14321..cef5ba9 100644 --- a/kernel/core/process.c +++ b/kernel/core/process.c @@ -34,8 +34,6 @@ struct process { enum procstate p_state; int p_status; - struct fd p_fds[16]; - sighandler_t p_sighandler[32]; }; @@ -441,61 +439,6 @@ int process_switch(process_t *proc) return(ret_val); } -int process_falloc(process_t *proc, int sock) -{ - int ret_val; - int i; - - ret_val = -EMFILE; - - for(i = 0; i < (sizeof(proc->p_fds) / sizeof(proc->p_fds[0])); i++) { - if(!(proc->p_fds[i].fd_flags & FD_VALID)) { - ret_val = i; - proc->p_fds[i].fd_socknum = sock; - proc->p_fds[i].fd_flags |= FD_VALID; - break; - } - } - - return(ret_val); -} - -int process_ffree(process_t *proc, int fd) -{ - int ret_val; - - ret_val = -EINVAL; - - if(fd >= 0 && fd < (sizeof(proc->p_fds) / sizeof(proc->p_fds[0]))) { - ret_val = -EBADF; - - if(proc->p_fds[fd].fd_flags & FD_VALID) { - proc->p_fds[fd].fd_flags = 0; - proc->p_fds[fd].fd_socknum = -1; - ret_val = 0; - } - } - - return(ret_val); -} - -int process_flookup(process_t *proc, int procfd) -{ - int ret_val; - - ret_val = -EINVAL; - - if(procfd >= 0 && procfd < (sizeof(proc->p_fds) / sizeof(proc->p_fds[0]))) { - ret_val = -EBADF; - - if(proc->p_fds[procfd].fd_flags & FD_VALID) { - ret_val = proc->p_fds[procfd].fd_socknum; - } - } - - return(ret_val); -} - process_t* process_get_current(void) { process_t *ret_val; diff --git a/kernel/include/process.h b/kernel/include/process.h index 3e361fb..2a3671a 100644 --- a/kernel/include/process.h +++ b/kernel/include/process.h @@ -31,10 +31,6 @@ typedef struct process process_t; int process_create(process_t**, pid_t, u32_t, void*); int process_switch(process_t*); -int process_falloc(process_t*, int); -int process_ffree(process_t*, int); -int process_flookup(process_t*, int); - process_t* process_get_current(void); process_t* process_lookup(pid_t);