From e25a47fcc4db09ab9b845a691297da67243e6049 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Tue, 2 Apr 2024 12:03:52 +0200 Subject: Kernel: Use "struct list" to handle file descriptors instead of a fixed sized array --- kernel/fs/fifo.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'kernel/fs/fifo.c') diff --git a/kernel/fs/fifo.c b/kernel/fs/fifo.c index f2ad933..a0a9248 100644 --- a/kernel/fs/fifo.c +++ b/kernel/fs/fifo.c @@ -1,4 +1,5 @@ #include "fifo.h" +#include #include #define STARTING_SIZE 4096 @@ -63,13 +64,12 @@ FIFO_FILE *create_fifo_object(void) { } int create_fifo(void) { - int fd_n = 0; - for (; current_task->file_descriptors[fd_n]; fd_n++) - ; vfs_fd_t *fd = kmalloc(sizeof(vfs_fd_t)); + int fd_n; + assert(list_add(¤t_task->file_descriptors, fd, &fd_n)); + fd->flags = O_RDWR | O_NONBLOCK; - current_task->file_descriptors[fd_n] = fd; fd->inode = kmalloc(sizeof(vfs_inode_t)); fd->inode->internal_object = (void *)create_fifo_object(); -- cgit v1.2.3