Registry / async / embassy-sync

embassy-sync

JSON →
library0.8.0rscratesunverified

no-std, no-alloc synchronization primitives with async support for embedded systems.

# Cargo.toml [dependencies] embassy-sync = "0.8.0"
INSTALL
IMPORT
SIG · EMBASSY-SYNC
E
embassy-sync
asyncrustv0.8.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Signal
use embassy_sync::signal::Signal;

Use a Signal primitive to synchronize async tasks.

use embassy_sync::signal::Signal; use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; fn main() { let signal = Signal::<CriticalSectionRawMutex, u32>::new(); signal.signal(42); let val = signal.wait().await; println!("Received: {}", val); }
Debug
Known issues
gotchaRequires an async executor (e.g., embassy-executor) and may need critical-section feature for some targets.
fix
Add embassy-executor as a dependency and enable the 'critical-section' feature if using single-core targets.
affects: >=0.8.0
Upgrade
Version history
0.8.0latest on crates.io
Audit
Dependencies

No dependency data recorded yet.

Agent activity
34 hits · last 30 days
node
30
OpenAI (training)
1
Resources
embassy-sync — cargo add embassy-sync · libregistry