1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#ifndef __KERNEL_USERMUTEX_H #define __KERNEL_USERMUTEX_H #include <util/locked/queue.H> #include <kernel/spinlock.H> #include <kernel/task.H> struct UserMutex { uint64_t value; bool unlock_pend; Spinlock lock; Util::Locked::Queue<task_t> waiting; }; #endif