mirror of
https://github.com/servo/servo
synced 2026-05-11 01:22:19 +02:00
Replace `RefCell` with `AtomicRefCell` for structs implementing Actor, making them `Sync`. Consolidate `register` and `register_later` into a single function, removing the need to wait for a loop before accessing newly created actors. Now `ActorRegsitry` has improved locking. Instead of locking the entire struct, each member can be locked separately. Additionally, since `find` now returns `Arc`, we can `find` and `register` multiple actors depending on each other, since the lock is only needed for the operation and we can keep the reference after that. Depends on: #41741, #41744 Testing: Manual testing --------- Signed-off-by: eri <eri@igalia.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>