aboutsummaryrefslogtreecommitdiff
path: root/embassy-executor/src/raw
diff options
context:
space:
mode:
authorKat Perez <[email protected]>2025-05-08 14:35:43 -0400
committerKat Perez <[email protected]>2025-05-08 14:35:43 -0400
commitdfaab013ebaaa4a19c06f2eb00821712ff13cf7a (patch)
tree9e32aee0654cc4d827d3458447998e90874ddadf /embassy-executor/src/raw
parente968c4763694d676cca6f1bd30949619dd12e962 (diff)
move SpawnerTraceExt back into Spawner
Diffstat (limited to 'embassy-executor/src/raw')
-rw-r--r--embassy-executor/src/raw/trace.rs42
1 files changed, 0 insertions, 42 deletions
diff --git a/embassy-executor/src/raw/trace.rs b/embassy-executor/src/raw/trace.rs
index f55033530..593f7b0ba 100644
--- a/embassy-executor/src/raw/trace.rs
+++ b/embassy-executor/src/raw/trace.rs
@@ -89,48 +89,6 @@ use rtos_trace::TaskInfo;
89use crate::raw::{SyncExecutor, TaskHeader, TaskRef}; 89use crate::raw::{SyncExecutor, TaskHeader, TaskRef};
90use crate::spawner::{SpawnError, SpawnToken, Spawner}; 90use crate::spawner::{SpawnError, SpawnToken, Spawner};
91 91
92/// Extension trait adding tracing capabilities to the Spawner
93pub trait SpawnerTraceExt {
94 /// Spawns a new task with a specified name.
95 ///
96 /// # Arguments
97 /// * `name` - Static string name to associate with the task
98 /// * `token` - Token representing the task to spawn
99 ///
100 /// # Returns
101 /// Result indicating whether the spawn was successful
102 fn spawn_named<S>(&self, name: &'static str, token: SpawnToken<S>) -> Result<(), SpawnError>;
103}
104
105#[cfg(feature = "trace")]
106impl SpawnerTraceExt for Spawner {
107 fn spawn_named<S>(&self, name: &'static str, token: SpawnToken<S>) -> Result<(), SpawnError> {
108 let task = token.raw_task;
109 core::mem::forget(token);
110
111 match task {
112 Some(task) => {
113 task.set_name(Some(name));
114 let task_id = task.as_ptr() as u32;
115 task.set_id(task_id);
116
117 unsafe { self.executor.spawn(task) };
118 Ok(())
119 }
120 None => Err(SpawnError::Busy),
121 }
122 }
123}
124
125/// When trace is disabled, spawn_named falls back to regular spawn.
126/// This maintains API compatibility while optimizing out the name parameter.
127#[cfg(not(feature = "trace"))]
128impl SpawnerTraceExt for Spawner {
129 fn spawn_named<S>(&self, _name: &'static str, token: SpawnToken<S>) -> Result<(), SpawnError> {
130 self.spawn(token)
131 }
132}
133
134/// Global task tracker instance 92/// Global task tracker instance
135/// 93///
136/// This static provides access to the global task tracker which maintains 94/// This static provides access to the global task tracker which maintains