bankd_main: Introduce g_bankd global variable

Change-Id: Ib1a94333f107beb695075b30e41396a6d1f4f29d
diff --git a/src/bankd_main.c b/src/bankd_main.c
index 43d9f00..6ebb74e 100644
--- a/src/bankd_main.c
+++ b/src/bankd_main.c
@@ -54,6 +54,7 @@
 #include "rspro_util.h"
 
 __thread void *talloc_asn1_ctx;
+struct bankd *g_bankd;
 
 static void *worker_main(void *arg);
 
@@ -154,13 +155,15 @@
 
 int main(int argc, char **argv)
 {
-	struct bankd *bankd = talloc_zero(NULL, struct bankd);
-	struct rspro_server_conn *srvc = &bankd->srvc;
+	struct rspro_server_conn *srvc;
 	int i, rc;
 
-	OSMO_ASSERT(bankd);
-	bankd_init(bankd);
+	g_bankd = talloc_zero(NULL, struct bankd);
+	OSMO_ASSERT(g_bankd);
 
+	bankd_init(g_bankd);
+
+	srvc = &g_bankd->srvc;
 	srvc->server_host = "localhost";
 	srvc->server_port = 9998;
 	srvc->handle_rx = bankd_srvc_handle_rx;
@@ -172,7 +175,7 @@
 	handle_options(argc, argv);
 
 	/* Connection towards remsim-server */
-	rc = server_conn_fsm_alloc(bankd, srvc);
+	rc = server_conn_fsm_alloc(g_bankd, srvc);
 	if (rc < 0) {
 		fprintf(stderr, "Unable to create Server conn FSM: %s\n", strerror(errno));
 		exit(1);
@@ -182,12 +185,12 @@
 	rc = osmo_sock_init(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 9999, OSMO_SOCK_F_BIND);
 	if (rc < 0)
 		exit(1);
-	bankd->accept_fd = rc;
+	g_bankd->accept_fd = rc;
 
 	/* create worker threads.  FIXME: one per reader/slot! */
 	for (i = 0; i < 10; i++) {
 		struct bankd_worker *w;
-		w = bankd_create_worker(bankd, i);
+		w = bankd_create_worker(g_bankd, i);
 		if (!w)
 			exit(21);
 	}
@@ -202,7 +205,7 @@
 		osmo_select_main(0);
 	}
 
-	talloc_free(bankd);
+	talloc_free(g_bankd);
 	exit(0);
 }