mirror of
https://github.com/servo/servo
synced 2026-05-08 16:12:15 +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>
37 lines
906 B
TOML
37 lines
906 B
TOML
[package]
|
|
name = "devtools"
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[lib]
|
|
name = "devtools"
|
|
path = "lib.rs"
|
|
|
|
[dependencies]
|
|
atomic_refcell = { workspace = true }
|
|
base = { workspace = true }
|
|
base64 = { workspace = true }
|
|
chrono = { workspace = true }
|
|
crossbeam-channel = { workspace = true }
|
|
devtools_traits = { workspace = true }
|
|
embedder_traits = { workspace = true }
|
|
headers = { workspace = true }
|
|
http = { workspace = true }
|
|
log = { workspace = true }
|
|
net = { path = "../net" }
|
|
net_traits = { workspace = true }
|
|
rand = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
servo_config = { path = "../config" }
|
|
servo_url = { path = "../url" }
|
|
uuid = { workspace = true }
|
|
|
|
[build-dependencies]
|
|
chrono = { workspace = true }
|