From 01b88a7bf9fb4c78bd632bfccb06f3d320a21fd5 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Sat, 22 Jun 2024 14:34:21 +0200 Subject: Kernel stuff --- kernel/fs/vfs.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'kernel/fs') diff --git a/kernel/fs/vfs.c b/kernel/fs/vfs.c index 666dfc9..7c97cb2 100644 --- a/kernel/fs/vfs.c +++ b/kernel/fs/vfs.c @@ -300,13 +300,12 @@ int vfs_close_process(process_t *p, int fd) { assert(relist_remove(&p->file_descriptors, fd)); // If no references left then free the contents if (0 == fd_ptr->reference_count) { - if (fd_ptr->inode->close) { - fd_ptr->inode->close(fd_ptr); - } - assert(0 < fd_ptr->inode->ref); fd_ptr->inode->ref--; if (0 >= fd_ptr->inode->ref) { + if (fd_ptr->inode->close) { + fd_ptr->inode->close(fd_ptr); + } kfree(fd_ptr->inode); } kfree(fd_ptr); -- cgit v1.2.3