diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2022-11-30 18:47:00 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2022-11-30 18:47:00 +0000 |
commit | 03bf87dcb06f7021bfb2df2fa8691593c6148aff (patch) | |
tree | e16b06711a2ed77cafb4b7754be0220c3d14a9d7 /libnetdata/arrayalloc/arrayalloc.h | |
parent | Adding upstream version 1.36.1. (diff) | |
download | netdata-03bf87dcb06f7021bfb2df2fa8691593c6148aff.tar.xz netdata-03bf87dcb06f7021bfb2df2fa8691593c6148aff.zip |
Adding upstream version 1.37.0.upstream/1.37.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | libnetdata/arrayalloc/arrayalloc.h | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/libnetdata/arrayalloc/arrayalloc.h b/libnetdata/arrayalloc/arrayalloc.h index e0e9e7f9f..cf80b73fd 100644 --- a/libnetdata/arrayalloc/arrayalloc.h +++ b/libnetdata/arrayalloc/arrayalloc.h @@ -5,8 +5,8 @@ #include "../libnetdata.h" typedef struct arrayalloc { - size_t element_size; - size_t elements; + size_t requested_element_size; + size_t initial_elements; const char *filename; char **cache_dir; bool use_mmap; @@ -23,13 +23,26 @@ typedef struct arrayalloc { size_t allocation_multiplier; size_t max_alloc_size; netdata_mutex_t mutex; - struct arrayalloc_page *first_page; - struct arrayalloc_page *last_page; + struct arrayalloc_page *pages; } internal; } ARAL; -extern ARAL *arrayalloc_create(size_t element_size, size_t elements, const char *filename, char **cache_dir); -extern void *arrayalloc_mallocz(ARAL *ar); -extern void arrayalloc_freez(ARAL *ar, void *ptr); +ARAL *arrayalloc_create(size_t element_size, size_t elements, const char *filename, char **cache_dir, bool mmap); +int aral_unittest(size_t elements); + +#ifdef NETDATA_TRACE_ALLOCATIONS + +#define arrayalloc_mallocz(ar) arrayalloc_mallocz_int(ar, __FILE__, __FUNCTION__, __LINE__) +#define arrayalloc_freez(ar, ptr) arrayalloc_freez_int(ar, ptr, __FILE__, __FUNCTION__, __LINE__) + +void *arrayalloc_mallocz_int(ARAL *ar, const char *file, const char *function, size_t line); +void arrayalloc_freez_int(ARAL *ar, void *ptr, const char *file, const char *function, size_t line); + +#else // NETDATA_TRACE_ALLOCATIONS + +void *arrayalloc_mallocz(ARAL *ar); +void arrayalloc_freez(ARAL *ar, void *ptr); + +#endif // NETDATA_TRACE_ALLOCATIONS #endif // ARRAYALLOC_H |