summaryrefslogtreecommitdiff
path: root/lib/memory.h
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2024-10-24 21:07:09 -0400
committerGitHub <noreply@github.com>2024-10-24 21:07:09 -0400
commit274c98628f0537b1f52e828d87727729e9dc635b (patch)
treef657ebf6ae2cb67a289d5323c4ebd87b3b5f7542 /lib/memory.h
parentbe3b97d9ed770d2c40bfc3ab18c27154ee8e3f2a (diff)
parentb3e400719750b4b40851be6044315b48f07722cb (diff)
Merge pull request #17155 from opensourcerouting/memstats-zlog
lib: `debug memstats-at-exit` improvements
Diffstat (limited to 'lib/memory.h')
-rw-r--r--lib/memory.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/memory.h b/lib/memory.h
index 8e8c61da04..8658018832 100644
--- a/lib/memory.h
+++ b/lib/memory.h
@@ -67,6 +67,8 @@ struct memgroup {
* but MGROUP_* aren't.
*/
+/* clang-format off */
+
#define DECLARE_MGROUP(name) extern struct memgroup _mg_##name
#define _DEFINE_MGROUP(mname, desc, ...) \
struct memgroup _mg_##mname _DATA_SECTION("mgroups") = { \
@@ -75,6 +77,7 @@ struct memgroup {
.next = NULL, \
.insert = NULL, \
.ref = NULL, \
+ __VA_ARGS__ \
}; \
static void _mginit_##mname(void) __attribute__((_CONSTRUCTOR(1000))); \
static void _mginit_##mname(void) \
@@ -136,6 +139,8 @@ struct memgroup {
DEFINE_MTYPE_ATTR(group, name, static, desc) \
/* end */
+/* clang-format on */
+
DECLARE_MGROUP(LIB);
DECLARE_MTYPE(TMP);
DECLARE_MTYPE(TMP_TTABLE);
@@ -176,8 +181,7 @@ static inline size_t mtype_stats_alloc(struct memtype *mt)
* last value from qmem_walk_fn. */
typedef int qmem_walk_fn(void *arg, struct memgroup *mg, struct memtype *mt);
extern int qmem_walk(qmem_walk_fn *func, void *arg);
-extern int log_memstats(FILE *fp, const char *);
-#define log_memstats_stderr(prefix) log_memstats(stderr, prefix)
+extern int log_memstats(const char *daemon_name, bool enabled);
extern __attribute__((__noreturn__)) void memory_oom(size_t size,
const char *name);