**nobody** wrote on Monday, February 20, 2006:

Hello,

I]in the file list.c in xListRemove, is there a mistake at the end :

void vListRemove( xListItem *pxItemToRemove )

{

xList * pxList;

pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious;

pxItemToRemove->pxPrevious->pxNext = pxItemToRemove->pxNext;

/* The list item knows which list it is in. Obtain the list from the list

item. */

pxList = ( xList * ) pxItemToRemove->pvContainer;

/* Make sure the index is left pointing to a valid item. */

if( pxList->pxIndex == pxItemToRemove )

{

pxList->pxIndex = pxItemToRemove->pxPrevious;

}

pxItemToRemove->pvContainer = NULL;

( pxList->uxNumberOfItems )–;

}

Shouldn’t it be :

( pxList->uxNumberOfItems )–;

pxItemToRemove->pvContainer = NULL;

II]I’m trying to use the vTaskDelayUntil :

I have 3 tasks

- task 1 : priority 1 and it is resuming task 2

- task 2 : priority 2 and it is itself suspending

- task 3 : using vTaskDelayUntil like in FreeRTOS example

and it is scheduling like this

task 3 wake up + sleeping

task 2

task 1

task 2

task 1

task 2

task 3 wake up by timer + sleeping

task 1

task 1

…

task 3 wake up by timer + sleeping

task IDLE …

I don’t understand why it is 'killing" the other task : the value of uxNumberOfItems for the

pxReadyTasksLists[2] & [3] became 0 ???

chris