mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-12-11 14:15:12 -05:00
Wrote contracts for lock release operations.
This commit is contained in:
parent
54523ecdce
commit
4eb2fa573e
3 changed files with 25 additions and 4 deletions
4
tasks.c
4
tasks.c
|
|
@ -4152,7 +4152,7 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
|||
|
||||
portGET_TASK_LOCK(); /* Must always acquire the task lock first */
|
||||
portGET_ISR_LOCK();
|
||||
//@ get_taskISRLockInv();
|
||||
//@ produce_taskISRLockInv();
|
||||
{
|
||||
/* vTaskSwitchContext() must never be called from within a critical section.
|
||||
* This is not necessarily true for vanilla FreeRTOS, but it is for this SMP port. */
|
||||
|
|
@ -4253,6 +4253,8 @@ void vTaskSwitchContext( BaseType_t xCoreID )
|
|||
#endif /* ( configUSE_NEWLIB_REENTRANT == 1 ) && ( configNEWLIB_REENTRANT_IS_DYNAMIC == 0 ) */
|
||||
}
|
||||
}
|
||||
//@ close taskISRLockInv();
|
||||
//@ consume_taskISRLockInv();
|
||||
portRELEASE_ISR_LOCK();
|
||||
portRELEASE_TASK_LOCK();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue