os; add a #ifdef for asserting on duplicate free.
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/54b28047 Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/54b28047 Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/54b28047 Branch: refs/heads/develop Commit: 54b28047db1004f8c516394367e891b04dbaee5a Parents: 4cfc287 Author: Marko Kiiskila <ma...@runtime.io> Authored: Sat Jan 28 17:32:00 2017 -0800 Committer: Marko Kiiskila <ma...@runtime.io> Committed: Sat Jan 28 17:32:00 2017 -0800 ---------------------------------------------------------------------- kernel/os/src/os_mempool.c | 8 ++++++++ 1 file changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/54b28047/kernel/os/src/os_mempool.c ---------------------------------------------------------------------- diff --git a/kernel/os/src/os_mempool.c b/kernel/os/src/os_mempool.c index 6646826..b0b3877 100644 --- a/kernel/os/src/os_mempool.c +++ b/kernel/os/src/os_mempool.c @@ -28,6 +28,9 @@ * @defgroup OSMempool Memory Pools * @{ */ +/* +#define OS_CHECK_DUP_FREE 1 +*/ #define OS_MEMPOOL_TRUE_BLOCK_SIZE(bsize) OS_ALIGN(bsize, OS_ALIGNMENT) @@ -202,6 +205,11 @@ os_memblock_put(struct os_mempool *mp, void *block_addr) return OS_INVALID_PARM; } +#ifdef OS_CHECK_DUP_FREE + SLIST_FOREACH(block, mp, mb_next) { + assert(block != (struct os_memblock *)block_addr); + } +#endif block = (struct os_memblock *)block_addr; OS_ENTER_CRITICAL(sr);