Browse Source

Kernel: Add missing locking when registering VMObjectDeletedHandlers

Andreas Kling 4 years ago
parent
commit
25a5fd870c
1 changed files with 2 additions and 0 deletions
  1. 2 0
      Kernel/VM/VMObject.h

+ 2 - 0
Kernel/VM/VMObject.h

@@ -67,10 +67,12 @@ public:
 
 
     void register_on_deleted_handler(VMObjectDeletedHandler& handler)
     void register_on_deleted_handler(VMObjectDeletedHandler& handler)
     {
     {
+        ScopedSpinLock locker(m_on_deleted_lock);
         m_on_deleted.set(&handler);
         m_on_deleted.set(&handler);
     }
     }
     void unregister_on_deleted_handler(VMObjectDeletedHandler& handler)
     void unregister_on_deleted_handler(VMObjectDeletedHandler& handler)
     {
     {
+        ScopedSpinLock locker(m_on_deleted_lock);
         m_on_deleted.remove(&handler);
         m_on_deleted.remove(&handler);
     }
     }