diff options
author | Harald Welte <laforge@osmocom.org> | 2024-02-23 18:56:15 +0100 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2024-02-28 08:48:42 +0000 |
commit | 54d17d664aad318b1f468f6fc15c629fa7d81ea4 (patch) | |
tree | 3c05dcecd9156d988038fdf9cc24d3604ed1b0f2 | |
parent | a7b687b121ed942cf0f42094b7f530985aba0ea1 (diff) |
examples/stream-{server,client}: Generate talloc report on SIGUSR1
This can help with memleak debugging.
Change-Id: Ia16632602b937db88e2da2b053192887bdb8a986
-rw-r--r-- | examples/stream-client.c | 11 | ||||
-rw-r--r-- | examples/stream-server.c | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/examples/stream-client.c b/examples/stream-client.c index 535804e..da90e8c 100644 --- a/examples/stream-client.c +++ b/examples/stream-client.c @@ -90,6 +90,15 @@ static int kbd_cb(struct osmo_fd *fd, unsigned int what) return 0; } +static void signal_handler(int signum) +{ + switch (signum) { + case SIGUSR1: + talloc_report_full(tall_test, stdout); + break; + } +} + int main(int argc, char **argv) { struct osmo_fd *kbd_ofd; @@ -110,6 +119,8 @@ int main(int argc, char **argv) } } + signal(SIGUSR1, &signal_handler); + tall_test = talloc_named_const(NULL, 1, "osmo_stream_cli_test"); msgb_talloc_ctx_init(tall_test, 0); osmo_init_logging2(tall_test, &osmo_stream_cli_test_log_info); diff --git a/examples/stream-server.c b/examples/stream-server.c index bfbde6d..1cd3517 100644 --- a/examples/stream-server.c +++ b/examples/stream-server.c @@ -117,6 +117,15 @@ static int kbd_cb(struct osmo_fd *fd, unsigned int what) return 0; } +static void signal_handler(int signum) +{ + switch (signum) { + case SIGUSR1: + talloc_report(tall_test, stderr); + break; + } +} + int main(int argc, char **argv) { struct osmo_fd *kbd_ofd; @@ -137,6 +146,8 @@ int main(int argc, char **argv) } } + signal(SIGUSR1, &signal_handler); + tall_test = talloc_named_const(NULL, 1, "osmo_stream_srv_test"); msgb_talloc_ctx_init(tall_test, 0); osmo_init_logging2(tall_test, &osmo_stream_srv_test_log_info); |