diff options
author | Anton Kling <anton@kling.gg> | 2024-04-26 19:06:46 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-04-26 19:06:46 +0200 |
commit | 7ab3153f92f38223157c4c1f4af1c30e33c94a76 (patch) | |
tree | 301f950cd6dc8fde244e9b5c1201ec01d964347b /kernel/sched/scheduler.c | |
parent | 2e2805c88789c148cce0118d3a4ff0212458bb86 (diff) |
Kernel/VFS: Change polling from variables to functions
Instead of having to store state in variables functions are called to
check the object directly.
Diffstat (limited to 'kernel/sched/scheduler.c')
-rw-r--r-- | kernel/sched/scheduler.c | 16 |
1 files changed, 10 insertions, 6 deletions
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; |