mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-08-01 08:54:14 -04:00
Microblaze: Add a port optimised task selection implementation to the Microblaze port.
Windows port: Add code to ensure Windows threads are truely suspended before resuming another thread. Typo correction to the task notification standard demo task. Correct case of some include file names to fix build issues on Linux.
This commit is contained in:
parent
cfb8223232
commit
8a1450effc
32 changed files with 156 additions and 4410 deletions
|
@ -365,6 +365,7 @@ static void prvProcessSimulatedInterrupts( void )
|
|||
uint32_t ulSwitchRequired, i;
|
||||
xThreadState *pxThreadState;
|
||||
void *pvObjectList[ 2 ];
|
||||
CONTEXT xContext;
|
||||
|
||||
/* Going to block on the mutex that ensured exclusive access to the simulated
|
||||
interrupt objects, and the event that signals that a simulated interrupt
|
||||
|
@ -426,6 +427,13 @@ void *pvObjectList[ 2 ];
|
|||
pxThreadState = ( xThreadState *) *( ( size_t * ) pvOldCurrentTCB );
|
||||
SuspendThread( pxThreadState->pvThread );
|
||||
|
||||
/* Ensure the thread is actually suspended by performing a
|
||||
synchronous operation that can only complete when the thread is
|
||||
actually suspended. The below code asks for dummy register
|
||||
data. */
|
||||
xContext.ContextFlags = CONTEXT_INTEGER;
|
||||
( void ) GetThreadContext( pxThreadState->pvThread, &xContext );
|
||||
|
||||
/* Obtain the state of the task now selected to enter the
|
||||
Running state. */
|
||||
pxThreadState = ( xThreadState * ) ( *( size_t *) pxCurrentTCB );
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue