File tree Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change 1414
1515#if ERPC_THREADS_IS(FREERTOS)
1616
17+ // The portYIELD_FROM_ISR() macro declares a variable called
18+ // ulPortYieldRequired. FreeRTOS assumes ulPortYieldRequired is in the
19+ // global namespace. To prevent linking errors, portYIELD_FROM_ISR()
20+ // should not be called from within a namespace.
21+ inline void ErpcPortYieldFromISR (BaseType_t &higher_priority_task_woken) {
22+ portYIELD_FROM_ISR (higher_priority_task_woken);
23+ }
24+
1725using namespace erpc ;
1826
1927// //////////////////////////////////////////////////////////////////////////////
@@ -248,7 +256,7 @@ void Semaphore::putFromISR(void)
248256{
249257 BaseType_t xHigherPriorityTaskWoken = pdFALSE;
250258 (void )xSemaphoreGiveFromISR (m_sem, &xHigherPriorityTaskWoken);
251- portYIELD_FROM_ISR (xHigherPriorityTaskWoken);
259+ ErpcPortYieldFromISR (xHigherPriorityTaskWoken);
252260}
253261
254262bool Semaphore::get (uint32_t timeoutUsecs)
You can’t perform that action at this time.
0 commit comments