diff options
| author | xqyjlj <[email protected]> | 2023-12-24 20:03:28 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-12-24 20:03:28 +0800 |
| commit | 6be74e227e3471bdb95fd5f8dd922c76d8d9ef40 (patch) | |
| tree | 7012a8d129566f9cba62bd8b4d7f9cde6db3a9bd /src/mempool.c | |
| parent | b8d1d671a91cdb16198ea4dab0f9deb029521d72 (diff) | |
🐞 fix(mempool): fix assert (#8364)
Diffstat (limited to 'src/mempool.c')
| -rw-r--r-- | src/mempool.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mempool.c b/src/mempool.c index 3992a85219..4fdba42715 100644 --- a/src/mempool.c +++ b/src/mempool.c @@ -16,6 +16,7 @@ * 2012-03-22 Bernard fix align issue in rt_mp_init and rt_mp_create. * 2022-01-07 Gabriel Moving __on_rt_xxxxx_hook to mempool.c * 2023-09-15 xqyjlj perf rt_hw_interrupt_disable/enable + * 2023-12-10 xqyjlj fix spinlock assert */ #include <rthw.h> @@ -290,12 +291,13 @@ rt_err_t rt_mp_delete(rt_mp_t mp) rt_thread_resume(thread); } + rt_spin_unlock_irqrestore(&(mp->spinlock), level); + /* release allocated room */ rt_free(mp->start_address); /* detach object */ rt_object_delete(&(mp->parent)); - rt_spin_unlock_irqrestore(&(mp->spinlock), level); return RT_EOK; } |
