move osmo_fsm_register() into constructor function
This way each application doesn't have to explicitly call it.
Change-Id: I20753d7f7f485e7e495b64fa74b24858cd22ffa9
diff --git a/src/remsim_client.c b/src/remsim_client.c
index b60059d..62f65f9 100644
--- a/src/remsim_client.c
+++ b/src/remsim_client.c
@@ -88,9 +88,6 @@
{
g_tall_ctx = talloc_named_const(NULL, 0, "global");
- osmo_fsm_register(&remsim_client_bankd_fsm);
- osmo_fsm_register(&remsim_client_server_fsm);
-
g_client = talloc_zero(g_tall_ctx, struct bankd_client);
g_client->bankd_host = "localhost";
g_client->bankd_port = 9999;
diff --git a/src/remsim_client_fsm.c b/src/remsim_client_fsm.c
index 0776937..d361659 100644
--- a/src/remsim_client_fsm.c
+++ b/src/remsim_client_fsm.c
@@ -464,3 +464,9 @@
srvc_st_init_onenter(fi, 0);
return 0;
}
+
+static __attribute__((constructor)) void on_dso_load(void)
+{
+ osmo_fsm_register(&remsim_client_bankd_fsm);
+ osmo_fsm_register(&remsim_client_server_fsm);
+}
diff --git a/src/simtrace2-remsim_client.c b/src/simtrace2-remsim_client.c
index 1cf09a6..6d31d32 100644
--- a/src/simtrace2-remsim_client.c
+++ b/src/simtrace2-remsim_client.c
@@ -749,9 +749,6 @@
// initialize remote SIM client
g_tall_ctx = talloc_named_const(NULL, 0, "global");
- osmo_fsm_register(&remsim_client_bankd_fsm);
- osmo_fsm_register(&remsim_client_server_fsm);
-
g_client = talloc_zero(g_tall_ctx, struct bankd_client);
g_client->bankd_host = bankd_host;
g_client->bankd_port = bankd_port;