]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/event_groups.c
If tickless idle mode is in use then ensure prvResetNextTaskUnblockTime() is called...
[freertos] / FreeRTOS / Source / event_groups.c
index 97bf96667b60ab4fc935bba96795dfef49e80de1..81c1965f92e6e24f4b8c8bccd8abec31dcc1c33d 100644 (file)
@@ -1,6 +1,6 @@
 /*\r
- * FreeRTOS Kernel V10.0.1\r
- * Copyright (C) 2017 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
+ * FreeRTOS Kernel V10.2.1\r
+ * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
  *\r
  * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
  * this software and associated documentation files (the "Software"), to deal in\r
@@ -60,7 +60,7 @@ taskEVENT_LIST_ITEM_VALUE_IN_USE definition. */
        #define eventEVENT_BITS_CONTROL_BYTES   0xff000000UL\r
 #endif\r
 \r
-typedef struct xEventGroup\r
+typedef struct EventGroupDef_t\r
 {\r
        EventBits_t uxEventBits;\r
        List_t xTasksWaitingForBits;            /*< List of tasks waiting for a bit to be set. */\r
@@ -134,7 +134,7 @@ static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, co
                        traceEVENT_GROUP_CREATE_FAILED();\r
                }\r
 \r
-               return ( EventGroupHandle_t ) pxEventBits; /*lint !e9087 EventGroup_t and StaticEventGroup_t are deliberately aliased for data hiding purposes and guaranteed to have the same size and alignment requirement - checked by configASSERT(). */\r
+               return pxEventBits;\r
        }\r
 \r
 #endif /* configSUPPORT_STATIC_ALLOCATION */\r
@@ -182,7 +182,7 @@ static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, co
                        traceEVENT_GROUP_CREATE_FAILED(); /*lint !e9063 Else branch only exists to allow tracing and does not generate code if trace macros are not defined. */\r
                }\r
 \r
-               return ( EventGroupHandle_t ) pxEventBits; /*lint !e9087 EventGroupHandle_t is a pointer to an EventGroup_t, but EventGroupHandle_t is kept opaque outside of this file for data hiding purposes. */\r
+               return pxEventBits;\r
        }\r
 \r
 #endif /* configSUPPORT_DYNAMIC_ALLOCATION */\r
@@ -191,7 +191,7 @@ static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, co
 EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait )\r
 {\r
 EventBits_t uxOriginalBitValue, uxReturn;\r
-EventGroup_t *pxEventBits = ( EventGroup_t * ) xEventGroup; /*lint !e9087 !e9079 EventGroupHandle_t is a pointer to an EventGroup_t.  It is opaque outside of this file for data hiding purposes. */\r
+EventGroup_t *pxEventBits = xEventGroup;\r
 BaseType_t xAlreadyYielded;\r
 BaseType_t xTimeoutOccurred = pdFALSE;\r
 \r
@@ -310,7 +310,7 @@ BaseType_t xTimeoutOccurred = pdFALSE;
 \r
 EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait )\r
 {\r
-EventGroup_t *pxEventBits = ( EventGroup_t * ) xEventGroup; /*lint !e9087 !e9079 EventGroupHandle_t is a pointer to an EventGroup_t.  It is opaque outside of this file for data hiding purposes. */\r
+EventGroup_t *pxEventBits = xEventGroup;\r
 EventBits_t uxReturn, uxControlBits = 0;\r
 BaseType_t xWaitConditionMet, xAlreadyYielded;\r
 BaseType_t xTimeoutOccurred = pdFALSE;\r
@@ -460,7 +460,7 @@ BaseType_t xTimeoutOccurred = pdFALSE;
 \r
 EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear )\r
 {\r
-EventGroup_t *pxEventBits = ( EventGroup_t * ) xEventGroup; /*lint !e9087 !e9079 EventGroupHandle_t is a pointer to an EventGroup_t, but EventGroupHandle_t is kept opaque outside of this file for data hiding purposes. */\r
+EventGroup_t *pxEventBits = xEventGroup;\r
 EventBits_t uxReturn;\r
 \r
        /* Check the user is not attempting to clear the bits used by the kernel\r
@@ -503,7 +503,7 @@ EventBits_t uxReturn;
 EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup )\r
 {\r
 UBaseType_t uxSavedInterruptStatus;\r
-EventGroup_t const * const pxEventBits = ( EventGroup_t * ) xEventGroup; /*lint !e9087 !e9079 EventGroupHandle_t is a pointer to an EventGroup_t, but EventGroupHandle_t is kept opaque outside of this file for data hiding purposes. */\r
+EventGroup_t const * const pxEventBits = xEventGroup;\r
 EventBits_t uxReturn;\r
 \r
        uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR();\r
@@ -522,7 +522,7 @@ ListItem_t *pxListItem, *pxNext;
 ListItem_t const *pxListEnd;\r
 List_t const * pxList;\r
 EventBits_t uxBitsToClear = 0, uxBitsWaitedFor, uxControlBits;\r
-EventGroup_t *pxEventBits = ( EventGroup_t * ) xEventGroup; /*lint !e9087 !e9079 EventGroupHandle_t is a pointer to an EventGroup_t, but EventGroupHandle_t is kept opaque outside of this file for data hiding purposes. */\r
+EventGroup_t *pxEventBits = xEventGroup;\r
 BaseType_t xMatchFound = pdFALSE;\r
 \r
        /* Check the user is not attempting to set the bits used by the kernel\r
@@ -612,7 +612,7 @@ BaseType_t xMatchFound = pdFALSE;
 \r
 void vEventGroupDelete( EventGroupHandle_t xEventGroup )\r
 {\r
-EventGroup_t *pxEventBits = ( EventGroup_t * ) xEventGroup; /*lint !e9087 !e9079 EventGroupHandle_t is a pointer to an EventGroup_t, but EventGroupHandle_t is kept opaque outside of this file for data hiding purposes. */\r
+EventGroup_t *pxEventBits = xEventGroup;\r
 const List_t *pxTasksWaitingForBits = &( pxEventBits->xTasksWaitingForBits );\r
 \r
        vTaskSuspendAll();\r