mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-09-26 21:15:53 +08:00

1. Refactor caller parameter on pool functions. 2. Add name on pool init. 3. Add exit leak pool print. Signed-off-by: Herman Chen <herman.chen@rock-chips.com> Change-Id: I39a8a966db895340a9e01ddff3a7894f1ca4b825
69 lines
1.6 KiB
C
69 lines
1.6 KiB
C
/* SPDX-License-Identifier: Apache-2.0 OR MIT */
|
|
/*
|
|
* Copyright (c) 2015 Rockchip Electronics Co., Ltd.
|
|
*/
|
|
|
|
#define MODULE_TAG "mpp_mem_pool_test"
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "mpp_log.h"
|
|
#include "mpp_mem_pool.h"
|
|
|
|
#define MPP_MEM_POOL_TEST_SIZE 1024
|
|
#define MPP_MEM_POOL_TEST_COUNT 20
|
|
|
|
int main()
|
|
{
|
|
MppMemPool pool = NULL;
|
|
size_t size = MPP_MEM_POOL_TEST_SIZE;
|
|
void *p [MPP_MEM_POOL_TEST_COUNT];
|
|
rk_u32 i;
|
|
|
|
mpp_log("mpp_mem_pool_test start\n");
|
|
|
|
pool = mpp_mem_pool_init_f(MODULE_TAG, size);
|
|
if (NULL == pool) {
|
|
mpp_err("mpp_mem_pool_test mpp_mem_pool_init failed\n");
|
|
goto mpp_mem_pool_test_failed;
|
|
}
|
|
|
|
for (i = 0; i < MPP_MEM_POOL_TEST_COUNT; i++) {
|
|
p[i] = mpp_mem_pool_get_f(pool);
|
|
if (!p[i]) {
|
|
mpp_err("mpp_mem_pool_test mpp_mem_pool_get_f failed\n");
|
|
goto mpp_mem_pool_test_failed;
|
|
}
|
|
}
|
|
|
|
for (i = 0; i < MPP_MEM_POOL_TEST_COUNT / 2; i++) {
|
|
if (p[i]) {
|
|
mpp_mem_pool_put_f(pool, p[i]);
|
|
p[i] = NULL;
|
|
}
|
|
}
|
|
|
|
for (i = 0; i < MPP_MEM_POOL_TEST_COUNT / 4; i++) {
|
|
p[i] = mpp_mem_pool_get_f(pool);
|
|
if (!p[i]) {
|
|
mpp_err("mpp_mem_pool_test mpp_mem_pool_get_f failed\n");
|
|
goto mpp_mem_pool_test_failed;
|
|
}
|
|
}
|
|
|
|
for (i = 0; i < MPP_MEM_POOL_TEST_COUNT; i++) {
|
|
if (p[i]) {
|
|
mpp_mem_pool_put_f(pool, p[i]);
|
|
p[i] = NULL;
|
|
}
|
|
}
|
|
|
|
mpp_log("mpp_mem_pool_test success\n");
|
|
return MPP_OK;
|
|
|
|
mpp_mem_pool_test_failed:
|
|
mpp_log("mpp_mem_pool_test failed\n");
|
|
return MPP_NOK;
|
|
}
|
|
|