aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2024-02-23 18:56:15 +0100
committerlaforge <laforge@osmocom.org>2024-02-28 08:48:42 +0000
commit54d17d664aad318b1f468f6fc15c629fa7d81ea4 (patch)
tree3c05dcecd9156d988038fdf9cc24d3604ed1b0f2
parenta7b687b121ed942cf0f42094b7f530985aba0ea1 (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.c11
-rw-r--r--examples/stream-server.c11
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);