Kernel: Rewrite epoll notifying system

This removes the need to lock epoll's mutex when notifying epoll. This
prevents a ton of deadlocks when epoll is notified from an interrupt
handler or otherwise with interrupts disabled
This commit is contained in:
2025-06-02 10:50:48 +03:00
parent e9f8471a28
commit 9883fb7bf6
2 changed files with 86 additions and 52 deletions

View File

@@ -98,7 +98,9 @@ namespace Kernel
private:
ThreadBlocker m_thread_blocker;
SpinLock m_ready_lock;
BAN::HashMap<BAN::RefPtr<Inode>, uint32_t, InodeRefPtrHash> m_ready_events;
BAN::HashMap<BAN::RefPtr<Inode>, uint32_t, InodeRefPtrHash> m_processing_events;
BAN::HashMap<BAN::RefPtr<Inode>, ListenEventList, InodeRefPtrHash> m_listening_events;
};