Matthew Tran
c72e2c5d10
Add test
2025-03-29 02:46:32 -05:00
Dario Nieuwenhuis
695a6da322
Statically allocate task pools on stable Rust.
...
Thanks @0e4ef622 for the awesome idea of how to do it and the first implementation.
Co-Authored-By: Matthew Tran <0e4ef622@gmail.com>
2025-03-28 19:11:53 +01:00
Murmele
e3b0581a87
Fix comment
2025-03-17 11:04:04 +01:00
Martin Marmsoler
edadc28f02
Add possibility to get the id of a task to be able to use it with rtos-trace
...
Files: spawner.rs
2025-03-14 19:08:50 +01:00
James Sizeland
c1671572b4
improve SpawnError::Busy message
2025-02-03 23:08:55 +00:00
Lukáš Poláček
31b50e6291
Fix year in changelog
2025-01-12 15:06:06 +01:00
Jonas Spinner
38033a2e14
fix typo in executor README.md
2025-01-06 19:28:07 +01:00
Dario Nieuwenhuis
cefdbfab2f
Release embassy-executor v0.7.0, embassy-time v0.4.0, embassy-time-driver v0.2.0.
2025-01-02 18:57:40 +01:00
Dániel Buga
44217aa092
Desugar some async fns
2024-12-30 12:13:13 +01:00
wackazong
4c7e1b05a0
Impl core::err::Error for SpawnError
2024-12-23 08:18:18 +01:00
Dániel Buga
ab8ca3f126
Rename ETQD, bump date
2024-12-22 21:00:23 +01:00
Dániel Buga
9a238e6ad8
Prepare new embassy-time-*driver, embassy-executor, embassy-time
2024-12-22 20:27:15 +01:00
Dániel Buga
76d8a896bb
Make poll_to_despawn a no_op
2024-12-17 18:51:22 +01:00
Dániel Buga
2ca374fc9c
Don't force a wake to despawn
2024-12-17 18:47:56 +01:00
Dániel Buga
a011f48769
Make poll_to_despawn non-generic
2024-12-17 18:37:17 +01:00
Dániel Buga
7d5fbe26c9
Update state diagram
2024-12-17 18:17:36 +01:00
Dániel Buga
b51bd9ad04
Update tests
2024-12-17 18:09:51 +01:00
Dániel Buga
8fd08b1e97
Swap poll_fn to allow polling exited tasks
2024-12-17 18:07:06 +01:00
Dániel Buga
edb8f21a74
Take critical section instead of unsafe
2024-12-17 17:53:12 +01:00
Dániel Buga
889b419fc4
Simplify ARM run_enqueue
2024-12-17 17:15:40 +01:00
Dániel Buga
c6ca46c825
Set RUN_QUEUED unconditionally
2024-12-17 16:52:13 +01:00
Dániel Buga
7eac184af0
Document task states and state transitions
2024-12-17 16:47:33 +01:00
Dario Nieuwenhuis
c504ae8d3a
Merge pull request #3656 from bugadani/timer-queue-special
...
Remove special handling of integrated timer queues and items
2024-12-17 14:52:12 +01:00
Dario Nieuwenhuis
fc25fca00b
Remove WakerHack for good.
...
Now that 1.83 xtensa is out, we can remove it unconditionally.
2024-12-17 13:06:31 +01:00
Dániel Buga
c3c571e01e
Remove test implementation of schedule_wake
2024-12-16 20:37:02 +01:00
Dániel Buga
c90d048ecb
Remove TIMER_QUEUED
2024-12-16 20:37:02 +01:00
Dániel Buga
71812d0c9b
Changelog
2024-12-16 20:37:01 +01:00
Dániel Buga
fbd0fe06bd
Remove special handling of integrated timer items
2024-12-16 20:37:01 +01:00
Dániel Buga
c9f32b7e36
Attach payload to TimerQueueItem
2024-12-16 20:36:59 +01:00
Dániel Buga
3c121e5425
Remove special handling of integrated timer queue
2024-12-16 19:22:22 +01:00
Dániel Buga
b47a631abf
Rely on atomic load-store on all targets
2024-12-16 17:29:07 +01:00
Dániel Buga
b44ef5ccb4
Fix racy access of TaskHeader::executor
2024-12-16 16:01:08 +01:00
Dániel Buga
f389ba3721
Only lock once to wake a task
2024-12-16 15:28:19 +01:00
Dániel Buga
a10290b28e
Zero-inizialize expires_at
2024-12-16 09:15:15 +01:00
Dániel Buga
e861344b17
Fix comments and tweak task exit
2024-12-15 18:50:00 +01:00
Dániel Buga
5c4983236c
Make sure an exited task does not get stuck in a timer queue
2024-12-15 18:50:00 +01:00
Dario Nieuwenhuis
2f2e2c6031
Make integrated-timers
the default, remove Cargo feature.
2024-12-15 18:49:57 +01:00
Dániel Buga
ec96395d08
Prevent task from respawning while in the timer queue
2024-12-13 21:20:57 +01:00
Dániel Buga
d45ea43892
Move integrated timer queue into time-queue-driver
2024-12-12 15:38:52 +01:00
Dániel Buga
dc18ee29a0
Do not access task header
2024-12-10 21:31:42 +01:00
Dániel Buga
12f58fbcfd
Remove TIMER_QUEUED state
2024-12-10 21:31:42 +01:00
Dániel Buga
6cc8709ecc
Changelog
2024-12-10 21:31:42 +01:00
Dániel Buga
5a5495aac4
Refactor integrated-timers
2024-12-10 21:31:42 +01:00
Ulf Lilleengen
f0be2fdce4
Extend tracing api to support executor id and end task
...
Allow applications to provide a trace implementation that only needs to
implement APIs used by the embassy executor, and provide more context in
the event of multiple executors being used.
2024-12-09 15:16:03 +01:00
Dániel Buga
8ebe059ecb
Add initialize
2024-11-19 16:25:17 +01:00
Dániel Buga
ff02ee1a22
Only set callback once
2024-11-19 14:42:41 +01:00
Dario Nieuwenhuis
796f6c034a
Release embassy-executor 0.6.3.
2024-11-12 18:07:50 +01:00
Dario Nieuwenhuis
853c5c567a
executor: compare vtable addr instead of contents.
...
Saves a whopping 44 bytes of text, yay.
2024-11-12 16:30:46 +01:00
Dario Nieuwenhuis
baeb59b5b8
executor: use WakerHack unconditionally even if nightly
feature is enabled. ( #3528 )
...
This ensures the executor compiles with all recent nightly versions,
including the stable-but-with-nightly-features-enabled xtensa rustc.
2024-11-12 16:28:26 +01:00
Dániel Buga
aeb85454e9
Also bump macros
2024-11-06 14:09:41 +01:00