fix: Call os_mempool_deinit_all when MYNEWT_VAL(MP_RUNTIME_ALLOC) enabled

This commit is contained in:
ShenWeilong
2026-08-26 11:39:11 +08:00
parent 68a6539cc2
commit 916be244a9
2 changed files with 1 additions and 25 deletions
+1 -4
View File
@@ -103,9 +103,6 @@ static struct ble_hs_stop_listener stop_listener;
extern void os_msys_init(void);
extern void os_msys_buf_free(void);
extern void os_mempool_module_init(void);
#if MYNEWT_VAL(MP_RUNTIME_ALLOC)
extern void os_mempool_deinit(void);
#endif
#if MYNEWT_VAL(BLE_STATIC_TO_DYNAMIC)
static int
@@ -366,7 +363,7 @@ esp_err_t esp_nimble_deinit(void)
bt_osal_freertos_funcs_deinit();
#if MYNEWT_VAL(MP_RUNTIME_ALLOC)
os_mempool_deinit();
os_mempool_deinit_all(false);
#endif
return ret;
-21
View File
@@ -901,24 +901,3 @@ os_mempool_module_init(void)
#endif
}
#if MYNEWT_VAL(MP_RUNTIME_ALLOC)
void
os_mempool_deinit(void)
{
struct os_mempool *mp = NULL;
mp = STAILQ_FIRST(&g_os_mempool_list);
// All mempool blocks should be reclaimed after nimble deinit
while (mp) {
if (mp->mp_flags & OS_MEMPOOL_F_RUNTIME) {
os_mempool_clear(mp);
}
mp = STAILQ_NEXT(mp, mp_list);
}
#if MYNEWT_VAL(BLE_STATIC_TO_DYNAMIC)
STAILQ_INIT(&g_os_mempool_list);
g_os_mempool_list_inited = false;
#endif
}
#endif