ccid_functionfs: SIGUSR1 handler for talloc report

Change-Id: I0ac7cff21d8f917a154c532a6b9871e86c454750
diff --git a/ccid/ccid_main_functionfs.c b/ccid/ccid_main_functionfs.c
index fc63f1e..e32fbf7 100644
--- a/ccid/ccid_main_functionfs.c
+++ b/ccid/ccid_main_functionfs.c
@@ -487,6 +487,16 @@
 
 static void *tall_main_ctx;
 
+static void signal_handler(int signal)
+{
+	switch (signal) {
+	case SIGUSR1:
+		talloc_report_full(tall_main_ctx, stderr);
+		break;
+	}
+}
+
+
 int main(int argc, char **argv)
 {
 	struct ufunc_handle ufh = (struct ufunc_handle) { 0, };
@@ -497,6 +507,8 @@
 	msgb_talloc_ctx_init(tall_main_ctx, 0);
 	osmo_init_logging2(tall_main_ctx, &log_info);
 
+	signal(SIGUSR1, &signal_handler);
+
 	ccid_instance_init(&ci, &c_ops, "", &ufh);
 	ufh.ccid_handle = &ci;