Fix comments in list.h and clarify list usage in xTaskRemoveFromEventList (#289)

* Change instances of "descending" to "ascending" to match implementation.

* Uncrustify

* Clarify list usage in xTaskRemoveFromEventList
diff --git a/include/list.h b/include/list.h
index d8a4988..6f5d15d 100644
--- a/include/list.h
+++ b/include/list.h
@@ -31,7 +31,7 @@
  *

  * list_ts can only store pointers to list_item_ts.  Each ListItem_t contains a

  * numeric value (xItemValue).  Most of the time the lists are sorted in

- * descending item value order.

+ * ascending item value order.

  *

  * Lists are created already containing one list item.  The value of this

  * item is the maximum possible that can be stored, it is therefore always at

@@ -141,19 +141,19 @@
 struct xLIST;

 struct xLIST_ITEM

 {

-    listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE               /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

-    configLIST_VOLATILE TickType_t xItemValue;              /*< The value being listed.  In most cases this is used to sort the list in descending order. */

-    struct xLIST_ITEM * configLIST_VOLATILE pxNext;         /*< Pointer to the next ListItem_t in the list. */

-    struct xLIST_ITEM * configLIST_VOLATILE pxPrevious;     /*< Pointer to the previous ListItem_t in the list. */

-    void * pvOwner;                                         /*< Pointer to the object (normally a TCB) that contains the list item.  There is therefore a two way link between the object containing the list item and the list item itself. */

-    struct xLIST * configLIST_VOLATILE pxContainer;         /*< Pointer to the list in which this list item is placed (if any). */

-    listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE              /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

+    listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE           /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

+    configLIST_VOLATILE TickType_t xItemValue;          /*< The value being listed.  In most cases this is used to sort the list in ascending order. */

+    struct xLIST_ITEM * configLIST_VOLATILE pxNext;     /*< Pointer to the next ListItem_t in the list. */

+    struct xLIST_ITEM * configLIST_VOLATILE pxPrevious; /*< Pointer to the previous ListItem_t in the list. */

+    void * pvOwner;                                     /*< Pointer to the object (normally a TCB) that contains the list item.  There is therefore a two way link between the object containing the list item and the list item itself. */

+    struct xLIST * configLIST_VOLATILE pxContainer;     /*< Pointer to the list in which this list item is placed (if any). */

+    listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE          /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

 };

-typedef struct xLIST_ITEM ListItem_t;                       /* For some reason lint wants this as two separate definitions. */

+typedef struct xLIST_ITEM ListItem_t;                   /* For some reason lint wants this as two separate definitions. */

 

 struct xMINI_LIST_ITEM

 {

-    listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE     /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

+    listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

     configLIST_VOLATILE TickType_t xItemValue;

     struct xLIST_ITEM * configLIST_VOLATILE pxNext;

     struct xLIST_ITEM * configLIST_VOLATILE pxPrevious;

@@ -165,11 +165,11 @@
  */

 typedef struct xLIST

 {

-    listFIRST_LIST_INTEGRITY_CHECK_VALUE          /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

+    listFIRST_LIST_INTEGRITY_CHECK_VALUE      /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

     volatile UBaseType_t uxNumberOfItems;

-    ListItem_t * configLIST_VOLATILE pxIndex;     /*< Used to walk through the list.  Points to the last item returned by a call to listGET_OWNER_OF_NEXT_ENTRY (). */

-    MiniListItem_t xListEnd;                      /*< List item that contains the maximum possible item value meaning it is always at the end of the list and is therefore used as a marker. */

-    listSECOND_LIST_INTEGRITY_CHECK_VALUE         /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

+    ListItem_t * configLIST_VOLATILE pxIndex; /*< Used to walk through the list.  Points to the last item returned by a call to listGET_OWNER_OF_NEXT_ENTRY (). */

+    MiniListItem_t xListEnd;                  /*< List item that contains the maximum possible item value meaning it is always at the end of the list and is therefore used as a marker. */

+    listSECOND_LIST_INTEGRITY_CHECK_VALUE     /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */

 } List_t;

 

 /*

@@ -192,7 +192,7 @@
 

 /*

  * Access macro to set the value of the list item.  In most cases the value is

- * used to sort the list in descending order.

+ * used to sort the list in ascending order.

  *

  * \page listSET_LIST_ITEM_VALUE listSET_LIST_ITEM_VALUE

  * \ingroup LinkedList

@@ -359,7 +359,7 @@
 

 /*

  * Insert a list item into a list.  The item will be inserted into the list in

- * a position determined by its item value (descending item value order).

+ * a position determined by its item value (ascending item value order).

  *

  * @param pxList The list into which the item is to be inserted.

  *

diff --git a/tasks.c b/tasks.c
index a1a6aac..c7be57c 100644
--- a/tasks.c
+++ b/tasks.c
@@ -295,7 +295,6 @@
     #endif

 

     #if ( configUSE_NEWLIB_REENTRANT == 1 )

-

         /* Allocate a Newlib reent structure that is specific to this task.

          * Note Newlib support has been included by popular demand, but is not

          * used by the FreeRTOS maintainers themselves.  FreeRTOS is not

@@ -3093,8 +3092,15 @@
 

     /* Place the event list item of the TCB in the appropriate event list.

      * This is placed in the list in priority order so the highest priority task

-     * is the first to be woken by the event.  The queue that contains the event

-     * list is locked, preventing simultaneous access from interrupts. */

+     * is the first to be woken by the event.

+     *

+     * Note: Lists are sorted in ascending order by ListItem_t.xItemValue.

+     * Normally, the xItemValue of a TCB's ListItem_t members is:

+     *      xItemValue = ( configMAX_PRIORITIES - uxPriority )

+     * Therefore, the event list is sorted in descending priority order.

+     *

+     * The queue that contains the event list is locked, preventing

+     * simultaneous access from interrupts. */

     vListInsert( pxEventList, &( pxCurrentTCB->xEventListItem ) );

 

     prvAddCurrentTaskToDelayedList( xTicksToWait, pdTRUE );