File tree 3 files changed +5
-7
lines changed
3 files changed +5
-7
lines changed Original file line number Diff line number Diff line change @@ -277,8 +277,8 @@ UBaseType_t freertos_rs_queue_messages_waiting(QueueHandle_t queue) {
277
277
return uxQueueMessagesWaiting ( queue );
278
278
}
279
279
280
- void freertos_rs_isr_yield () {
281
- portYIELD ( );
280
+ void freertos_rs_isr_yield (BaseType_t xHigherPriorityTaskWoken ) {
281
+ portYIELD_FROM_ISR ( xHigherPriorityTaskWoken );
282
282
}
283
283
284
284
TickType_t freertos_rs_max_wait () {
Original file line number Diff line number Diff line change @@ -27,10 +27,8 @@ impl InterruptContext {
27
27
28
28
impl Drop for InterruptContext {
29
29
fn drop ( & mut self ) {
30
- if self . x_higher_priority_task_woken == 1 {
31
- unsafe {
32
- freertos_rs_isr_yield ( ) ;
33
- }
30
+ unsafe {
31
+ freertos_rs_isr_yield ( self . x_higher_priority_task_woken ) ;
34
32
}
35
33
}
36
34
}
Original file line number Diff line number Diff line change @@ -81,7 +81,7 @@ extern "C" {
81
81
item : FreeRtosVoidPtr ,
82
82
xHigherPriorityTaskWoken : FreeRtosBaseTypeMutPtr ,
83
83
) -> FreeRtosUBaseType ;
84
- pub fn freertos_rs_isr_yield ( ) ;
84
+ pub fn freertos_rs_isr_yield ( xHigherPriorityTaskWoken : FreeRtosBaseType ) ;
85
85
86
86
pub fn freertos_rs_task_notify_take ( clear_count : u8 , wait : FreeRtosTickType ) -> u32 ;
87
87
pub fn freertos_rs_task_notify_wait (
You can’t perform that action at this time.
0 commit comments