aboutsummaryrefslogtreecommitdiff
path: root/embassy-executor-macros/src
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-executor-macros/src')
-rw-r--r--embassy-executor-macros/src/macros/main.rs16
1 files changed, 14 insertions, 2 deletions
diff --git a/embassy-executor-macros/src/macros/main.rs b/embassy-executor-macros/src/macros/main.rs
index fcc04d9c0..f043ff7f6 100644
--- a/embassy-executor-macros/src/macros/main.rs
+++ b/embassy-executor-macros/src/macros/main.rs
@@ -170,6 +170,14 @@ For example: `#[embassy_executor::main(entry = ..., executor = \"some_crate::Exe
170 let f_body = f.body; 170 let f_body = f.body;
171 let out = &f.sig.output; 171 let out = &f.sig.output;
172 172
173 let name_main_task = if cfg!(feature = "rtos-trace") {
174 quote!(
175 main_task.metadata().set_name("main\0");
176 )
177 } else {
178 quote!()
179 };
180
173 let (main_ret, mut main_body) = match arch.flavor { 181 let (main_ret, mut main_body) = match arch.flavor {
174 Flavor::Standard => ( 182 Flavor::Standard => (
175 quote!(!), 183 quote!(!),
@@ -181,7 +189,9 @@ For example: `#[embassy_executor::main(entry = ..., executor = \"some_crate::Exe
181 let mut executor = #executor::new(); 189 let mut executor = #executor::new();
182 let executor = unsafe { __make_static(&mut executor) }; 190 let executor = unsafe { __make_static(&mut executor) };
183 executor.run(|spawner| { 191 executor.run(|spawner| {
184 spawner.spawn(__embassy_main(spawner).unwrap()); 192 let main_task = __embassy_main(spawner).unwrap();
193 #name_main_task
194 spawner.spawn(main_task);
185 }) 195 })
186 }, 196 },
187 ), 197 ),
@@ -191,7 +201,9 @@ For example: `#[embassy_executor::main(entry = ..., executor = \"some_crate::Exe
191 let executor = ::std::boxed::Box::leak(::std::boxed::Box::new(#executor::new())); 201 let executor = ::std::boxed::Box::leak(::std::boxed::Box::new(#executor::new()));
192 202
193 executor.start(|spawner| { 203 executor.start(|spawner| {
194 spawner.spawn(__embassy_main(spawner).unwrap()); 204 let main_task = __embassy_main(spawner).unwrap();
205 #name_main_task
206 spawner.spawn(main_task);
195 }); 207 });
196 208
197 Ok(()) 209 Ok(())