Skip to content

Commit b9fc37a

Browse files
Addressed review comments.
1 parent 71d7d08 commit b9fc37a

File tree

1 file changed

+13
-18
lines changed

1 file changed

+13
-18
lines changed

src/include/platform/internal/GenericPlatformManagerImpl_FreeRTOS.ipp

+13-18
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,7 @@ CHIP_ERROR GenericPlatformManagerImpl_FreeRTOS<ImplClass>::_InitChipStack(void)
4646

4747
vTaskSetTimeOutState(&mNextTimerBaseTime);
4848
mNextTimerDurationTicks = 0;
49-
// TODO: This nulling out of mEventLoopTask should happen when we shut down
50-
// the task, not here!
51-
mEventLoopTask = NULL;
52-
#if defined(CHIP_DEVICE_CONFIG_ENABLE_BG_EVENT_PROCESSING) && CHIP_DEVICE_CONFIG_ENABLE_BG_EVENT_PROCESSING
53-
mBackgroundEventLoopTask = NULL;
54-
#endif
55-
mChipTimerActive = false;
56-
57-
// We support calling Shutdown followed by InitChipStack, because some tests
58-
// do that. To keep things simple for existing consumers, we keep not
59-
// destroying our lock and queue in shutdown, but rather check whether they
60-
// already exist here before trying to create them.
49+
mChipTimerActive = false;
6150

6251
if (mChipStackLock == NULL)
6352
{
@@ -277,10 +266,13 @@ template <class ImplClass>
277266
void GenericPlatformManagerImpl_FreeRTOS<ImplClass>::EventLoopTaskMain(void * arg)
278267
{
279268
ChipLogDetail(DeviceLayer, "CHIP event task running");
280-
static_cast<GenericPlatformManagerImpl_FreeRTOS<ImplClass> *>(arg)->Impl()->RunEventLoop();
269+
GenericPlatformManagerImpl_FreeRTOS<ImplClass> * platformManager =
270+
static_cast<GenericPlatformManagerImpl_FreeRTOS<ImplClass> *>(arg);
271+
platformManager->Impl()->RunEventLoop();
281272
vTaskDelete(NULL);
282-
vQueueDelete(static_cast<GenericPlatformManagerImpl_FreeRTOS<ImplClass> *>(arg)->mChipEventQueue);
283-
static_cast<GenericPlatformManagerImpl_FreeRTOS<ImplClass> *>(arg)->mChipEventQueue = NULL;
273+
vQueueDelete(platformManager->mChipEventQueue);
274+
platformManager->mChipEventQueue = NULL;
275+
platformManager->mEventLoopTask = NULL;
284276
}
285277

286278
template <class ImplClass>
@@ -376,10 +368,13 @@ template <class ImplClass>
376368
void GenericPlatformManagerImpl_FreeRTOS<ImplClass>::BackgroundEventLoopTaskMain(void * arg)
377369
{
378370
ChipLogDetail(DeviceLayer, "CHIP background task running");
379-
static_cast<GenericPlatformManagerImpl_FreeRTOS<ImplClass> *>(arg)->Impl()->RunBackgroundEventLoop();
371+
GenericPlatformManagerImpl_FreeRTOS<ImplClass> * platformManager =
372+
static_cast<GenericPlatformManagerImpl_FreeRTOS<ImplClass> *>(arg);
373+
platformManager->Impl()->RunBackgroundEventLoop();
380374
vTaskDelete(NULL);
381-
vQueueDelete(static_cast<GenericPlatformManagerImpl_FreeRTOS<ImplClass> *>(arg)->mBackgroundEventQueue);
382-
static_cast<GenericPlatformManagerImpl_FreeRTOS<ImplClass> *>(arg)->mBackgroundEventQueue = NULL;
375+
vQueueDelete(platformManager->mBackgroundEventQueue);
376+
platformManager->mBackgroundEventQueue = NULL;
377+
platformManager->mBackgroundEventLoopTask = NULL;
383378
}
384379
#endif
385380

0 commit comments

Comments
 (0)