diff options
| author | sakumisu <[email protected]> | 2024-09-07 22:42:27 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2024-09-07 22:42:27 +0800 |
| commit | cb6a0c2ad6ae53d524276a44ef92a192d2450eeb (patch) | |
| tree | 811a3a64102d199fc799775877446da4684cfe75 | |
| parent | bacacdb32c36279177e550ffa88b1973d57c6ab1 (diff) | |
chore(cherrymp): add license
| -rw-r--r-- | third_party/cherrymp/chry_mempool.c | 10 | ||||
| -rw-r--r-- | third_party/cherrymp/chry_mempool.h | 14 |
2 files changed, 22 insertions, 2 deletions
diff --git a/third_party/cherrymp/chry_mempool.c b/third_party/cherrymp/chry_mempool.c index 7ed0a2eb..71e7aced 100644 --- a/third_party/cherrymp/chry_mempool.c +++ b/third_party/cherrymp/chry_mempool.c @@ -1,3 +1,8 @@ +/* + * Copyright (c) 2024, sakumisu + * + * SPDX-License-Identifier: Apache-2.0 + */ #include "chry_mempool.h" int chry_mempool_create(struct chry_mempool *pool, void *block, uint32_t block_size, uint32_t block_count) @@ -8,7 +13,10 @@ int chry_mempool_create(struct chry_mempool *pool, void *block, uint32_t block_s ringbuf = usb_osal_malloc(sizeof(uintptr_t) * block_count); memset(ringbuf, 0, sizeof(uintptr_t) * block_count); - chry_ringbuffer_init(&pool->rb, ringbuf, sizeof(uintptr_t) * block_count); + if (chry_ringbuffer_init(&pool->rb, ringbuf, sizeof(uintptr_t) * block_count) == -1) { + usb_osal_free(ringbuf); + return -1; + } for (uint32_t i = 0; i < block_count; i++) { addr = ((uintptr_t)block + i * block_size); diff --git a/third_party/cherrymp/chry_mempool.h b/third_party/cherrymp/chry_mempool.h index daebdd37..a3824b79 100644 --- a/third_party/cherrymp/chry_mempool.h +++ b/third_party/cherrymp/chry_mempool.h @@ -1,7 +1,11 @@ +/* + * Copyright (c) 2024, sakumisu + * + * SPDX-License-Identifier: Apache-2.0 + */ #ifndef CHRY_MEMPOOL_H #define CHRY_MEMPOOL_H -#include "usb_config.h" #include "usb_osal.h" #include "chry_ringbuffer.h" @@ -10,10 +14,18 @@ struct chry_mempool { usb_osal_mq_t mq; }; +#ifdef __cplusplus +extern "C" { +#endif + int chry_mempool_create(struct chry_mempool *pool, void *block, uint32_t block_size, uint32_t block_count); uintptr_t *chry_mempool_alloc(struct chry_mempool *pool); int chry_mempool_free(struct chry_mempool *pool, uintptr_t *item); int chry_mempool_send(struct chry_mempool *pool, uintptr_t *item); int chry_mempool_recv(struct chry_mempool *pool, uintptr_t **item, uint32_t timeout); +#ifdef __cplusplus +} +#endif + #endif
\ No newline at end of file |
