Change in osmo-uecups[master]: Add support for SIGUSR1 talloc report + SIGHUP logfile re-open

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Sat Apr 18 19:43:58 UTC 2020


laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/17859 )


Change subject: Add support for SIGUSR1 talloc report + SIGHUP logfile re-open
......................................................................

Add support for SIGUSR1 talloc report + SIGHUP logfile re-open

Change-Id: I8bfce39443fd29b6acab9a88c9fa5da54c46e824
---
M daemon/main.c
1 file changed, 25 insertions(+), 8 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/59/17859/1

diff --git a/daemon/main.c b/daemon/main.c
index a458e16..6ce9042 100644
--- a/daemon/main.c
+++ b/daemon/main.c
@@ -628,11 +628,26 @@
 #define OSMO_VTY_PORT_UECUPS	4268
 #endif
 
+static void *g_tall_ctx;
 struct gtp_daemon *g_daemon;
 static int g_daemonize;
 static char *g_config_file = "osmo-gtpu-daemon.cfg";
 extern struct vty_app_info g_vty_info;
 
+static void signal_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi)
+{
+	switch (fdsi->ssi_signo) {
+	case SIGCHLD:
+		sigchild_cb(osfd, fdsi);
+		break;
+	case SIGUSR1:
+		talloc_report_full(g_tall_ctx, stderr);
+		break;
+	default:
+		break;
+	}
+}
+
 static struct gtp_daemon *gtp_daemon_alloc(void *ctx)
 {
 	struct gtp_daemon *d = talloc_zero(ctx, struct gtp_daemon);
@@ -685,23 +700,23 @@
 
 int main(int argc, char **argv)
 {
-	void *ctx = talloc_named_const(NULL, 0, "root");
 	int rc;
 
-	g_vty_info.tall_ctx = ctx;
+	g_tall_ctx = talloc_named_const(NULL, 0, "root");
+	g_vty_info.tall_ctx = g_tall_ctx;
 
 	osmo_init_ignore_signals();
-	osmo_init_logging2(ctx,  &log_info);
+	osmo_init_logging2(g_tall_ctx,  &log_info);
 
-	g_daemon = gtp_daemon_alloc(ctx);
+	g_daemon = gtp_daemon_alloc(g_tall_ctx);
 	OSMO_ASSERT(g_daemon);
 
-	osmo_stats_init(ctx);
+	osmo_stats_init(g_tall_ctx);
 	vty_init(&g_vty_info);
 	logging_vty_add_cmds();
 	osmo_talloc_vty_add_cmds();
 	osmo_stats_vty_add_cmds();
-	rate_ctr_init(ctx);
+	rate_ctr_init(g_tall_ctx);
 	gtpud_vty_init();
 
 	init_netns();
@@ -712,7 +727,7 @@
 		exit(2);
 	}
 
-	rc = telnet_init_dynif(ctx, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_UECUPS);
+	rc = telnet_init_dynif(g_daemon, NULL, vty_get_bind_addr(), OSMO_VTY_PORT_UECUPS);
 	if (rc < 0)
 		exit(1);
 
@@ -736,8 +751,10 @@
 	sigset_t sigset;
 	sigemptyset(&sigset);
 	sigaddset(&sigset, SIGCHLD);
+	sigaddset(&sigset, SIGUSR1);
 	sigprocmask(SIG_BLOCK, &sigset, NULL);
-	g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, sigchild_cb, g_daemon);
+	g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon);
+	osmo_init_ignore_signals();
 
 	if (g_daemonize) {
 		rc = osmo_daemonize();

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/17859
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-uecups
Gerrit-Branch: master
Gerrit-Change-Id: I8bfce39443fd29b6acab9a88c9fa5da54c46e824
Gerrit-Change-Number: 17859
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200418/b17d04b1/attachment.htm>


More information about the gerrit-log mailing list