From 7ab3153f92f38223157c4c1f4af1c30e33c94a76 Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Fri, 26 Apr 2024 19:06:46 +0200 Subject: Kernel/VFS: Change polling from variables to functions Instead of having to store state in variables functions are called to check the object directly. --- kernel/sched/scheduler.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'kernel/sched') diff --git a/kernel/sched/scheduler.c b/kernel/sched/scheduler.c index 9948c72..6454775 100644 --- a/kernel/sched/scheduler.c +++ b/kernel/sched/scheduler.c @@ -382,8 +382,10 @@ int isset_fdhalt(process_t *p, int *empty) { break; } *empty = 0; - if (inode->has_data) { - return 0; + if (inode->_has_data) { + if (inode->_has_data(inode)) { + return 0; + } } blocked = 1; } @@ -393,8 +395,10 @@ int isset_fdhalt(process_t *p, int *empty) { break; } *empty = 0; - if (inode->can_write) { - return 0; + if (inode->_can_write) { + if (inode->_can_write(inode)) { + return 0; + } } blocked = 1; } @@ -647,8 +651,8 @@ void *mmap(void *addr, size_t length, int prot, int flags, int fd, } void *rc = create_physical_mapping(vmobject->object, length); if (!rc) { - kprintf("ENOMEM\n"); - return (void *)-ENOMEM; + kprintf("ENOMEM\n"); + return (void *)-ENOMEM; } free_map->u_address = rc; free_map->k_address = NULL; -- cgit v1.2.3