Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/syscall/syscall.c

    rad211c8 rd5b37b6  
    11/*
     2 * Copyright (c) 2025 Jiri Svoboda
    23 * Copyright (c) 2005 Martin Decky
    34 * All rights reserved.
     
    4041#include <proc/task.h>
    4142#include <proc/program.h>
     43#include <main/shutdown.h>
    4244#include <mm/as.h>
    4345#include <mm/page.h>
     
    5961        /* System management syscalls. */
    6062        [SYS_KIO] = (syshandler_t) sys_kio,
     63        [SYS_REBOOT] = (syshandler_t) sys_reboot,
    6164
    6265        /* Thread and task related syscalls. */
     
    134137
    135138        [SYS_KLOG] = (syshandler_t) sys_klog,
     139        [SYS_KIO_READ] = (syshandler_t) sys_kio_read,
    136140};
    137141
     
    141145{
    142146        /* Do userpace accounting */
    143         irq_spinlock_lock(&THREAD->lock, true);
     147        ipl_t ipl = interrupts_disable();
    144148        thread_update_accounting(true);
    145         irq_spinlock_unlock(&THREAD->lock, true);
     149        interrupts_restore(ipl);
    146150
    147151#ifdef CONFIG_UDEBUG
     
    191195
    192196        /* Do kernel accounting */
    193         irq_spinlock_lock(&THREAD->lock, true);
     197        ipl = interrupts_disable();
    194198        thread_update_accounting(false);
    195         irq_spinlock_unlock(&THREAD->lock, true);
     199        interrupts_restore(ipl);
    196200
    197201        return rc;
Note: See TracChangeset for help on using the changeset viewer.