1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-31 13:50:04 -04:00

Add single-threaded deadlock detection to RwMutex (#1619)

This commit is contained in:
Emil Ernerfeldt
2022-05-21 14:08:19 +02:00
committed by GitHub
parent 810b609a80
commit d6fd5dec3b
6 changed files with 93 additions and 3 deletions

View File

@@ -32,6 +32,11 @@ default = ["default_fonts"]
# implement bytemuck on most types.
bytemuck = ["dep:bytemuck", "emath/bytemuck"]
# This will automatically detect deadlocks due to double-locking on the same thread.
# If your app freezes, you may want to enable this!
# Only affects `epaint::mutex::RwLock` (which epaint and egui uses a lot).
deadlock_detection = ["dep:backtrace"]
# If set, epaint will use `include_bytes!` to bundle some fonts.
# If you plan on specifying your own fonts you may disable this feature.
default_fonts = []
@@ -51,17 +56,18 @@ serde = ["dep:serde", "ahash/serde", "emath/serde"]
emath = { version = "0.18.0", path = "../emath" }
ab_glyph = "0.2.11"
ahash = { version = "0.7", default-features = false, features = ["std"] }
nohash-hasher = "0.2"
# Optional:
color-hex = { version = "0.2.0", optional = true }
ahash = { version = "0.7", default-features = false, features = ["std"] }
bytemuck = { version = "1.7.2", optional = true, features = ["derive"] }
cint = { version = "0.3.1", optional = true }
color-hex = { version = "0.2.0", optional = true }
serde = { version = "1", optional = true, features = ["derive", "rc"] }
# native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
backtrace = { version = "0.3", optional = true }
parking_lot = "0.12" # Using parking_lot over std::sync::Mutex gives 50% speedups in some real-world scenarios.
# web: