diff options
author | Anton Kling <anton@kling.gg> | 2024-06-22 14:34:21 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-06-22 14:34:21 +0200 |
commit | 01b88a7bf9fb4c78bd632bfccb06f3d320a21fd5 (patch) | |
tree | 20d9a6dcc155e7c8b6e067c6ba6d7b42df4365fd /kernel/fs | |
parent | af313dec6b7698b6f948b97669aa7be91717a451 (diff) |
Kernel stuff
Diffstat (limited to 'kernel/fs')
-rw-r--r-- | kernel/fs/vfs.c | 7 |
1 files changed, 3 insertions, 4 deletions
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); |