cosmic-files/src
Michael Aaron Murphy e35d5123f0
perf: avoid holding async mutex guards across await points
tokio recommends using a sync mutex with a notifier instead of the
async mutex where possible. Rust forbids holding a sync mutex guard
across await points so we can prevent a potential deadlock this way.

This adds a custom channel based on the tokio mpmc example for
handling gvfs events from callbacks to avoid the async mutex
requirement. Messages are held in a `VecDeque` behind a sync mutex
and the receiver will get notified via the notifier when a message
is added to the queue.

Weak references used in gio callbacks in case the sender is dropped
by the application.
2026-04-14 17:04:48 +02:00
..
mounter perf: avoid holding async mutex guards across await points 2026-04-14 17:04:48 +02:00
operation perf: use atomics for controller progress and state 2026-04-14 16:51:51 +02:00
app.rs perf: avoid holding async mutex guards across await points 2026-04-14 17:04:48 +02:00
archive.rs refactor: use jiff instead of chrono 2026-03-24 11:25:59 -06:00
channel.rs perf: avoid holding async mutex guards across await points 2026-04-14 17:04:48 +02:00
clipboard.rs fix: handle slight delay in availability of clipboard data 2026-04-13 11:53:25 -06:00
config.rs Add user-defined context actions 2026-04-06 06:16:27 +03:00
context_action.rs Fix: remove context actions from open/save dialog 2026-04-10 02:58:20 +03:00
dialog.rs Merge pull request #1728 from darkfated/add-context-actions 2026-04-10 15:42:42 -06:00
key_bind.rs chore: update to the latest libcosmic 2026-04-08 15:15:48 -06:00
large_image.rs chore: clippy 2026-01-30 21:05:46 +01:00
lib.rs perf: avoid holding async mutex guards across await points 2026-04-14 17:04:48 +02:00
load_image.rs chore: update to the latest libcosmic 2026-04-08 15:15:48 -06:00
localize.rs chore: clippy 2026-01-30 21:05:46 +01:00
main.rs chore: update dependencies 2026-03-24 11:25:59 -06:00
menu.rs Add user-defined context actions 2026-04-06 06:16:27 +03:00
mime_app.rs chore: clippy 2026-01-30 21:05:46 +01:00
mime_icon.rs perf: general minor performance optimisations 2025-10-29 08:16:50 +10:00
mouse_area.rs chore: update to the latest libcosmic 2026-04-08 15:15:48 -06:00
spawn_detached.rs fix: avoid leaving zombie processes on unix 2025-10-12 17:04:54 +10:00
tab.rs perf: avoid holding async mutex guards across await points 2026-04-14 17:04:48 +02:00
thumbnail_cacher.rs chore: clippy 2026-01-30 21:05:46 +01:00
thumbnailer.rs chore: update dependencies 2026-01-30 21:10:00 +01:00
zoom.rs perf: general minor performance optimisations 2025-10-29 08:16:50 +10:00