Hi Support,
After an OTA, we call sl_Stop to use our new bundle.
Unfortunately, sometimes it deadlocks the MCU, despite a non-zero parameter being passed to the sl_Stop() call.
Here's where its hung up:
#ifdef SL_PLATFORM_MULTI_THREADED /* Do not continue until all sync object deleted (in relevant context) */ while (g_pCB->NumOfDeletedSyncObj < MAX_CONCURRENT_ACTIONS) { usleep(100000); } #endif
The value of NumOfDeletedSyncObj is one less than MAX_CONCURRENT_ACTIONS. Should we be manually closing all sockets before calling sl_Stop? This shouldn't be necessary, right?
Thanks!