<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-mgw/+/16383">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Move fsm_mgcp_client regstration to __attribute__((contructor))<br><br>This way we can avoid the runtime overhead of checking whether or not<br>it is initialized over and over again.  It also brings this code more<br>in line with other users of osmo_fsm_register().<br><br>Change-Id: Ia73ba8e46c13d925e88203e08a8966839e573183<br>---<br>M src/libosmo-mgcp-client/mgcp_client_fsm.c<br>1 file changed, 5 insertions(+), 8 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/83/16383/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c</span><br><span>index e910586..e38a4ba 100644</span><br><span>--- a/src/libosmo-mgcp-client/mgcp_client_fsm.c</span><br><span>+++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c</span><br><span>@@ -606,7 +606,6 @@</span><br><span>                                      uint32_t parent_term_evt, uint32_t parent_evt, struct mgcp_conn_peer *conn_peer)</span><br><span> {</span><br><span>         struct mgcp_ctx *mgcp_ctx;</span><br><span style="color: hsl(0, 100%, 40%);">-      static bool fsm_registered = false;</span><br><span>  struct osmo_fsm_inst *fi;</span><br><span>    struct in_addr ip_test;</span><br><span> </span><br><span>@@ -618,13 +617,6 @@</span><br><span>   if (conn_peer->port && inet_aton(conn_peer->addr, &ip_test) == 0)</span><br><span>          return NULL;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        /* Register the fsm description (if not already done) */</span><br><span style="color: hsl(0, 100%, 40%);">-        if (fsm_registered == false) {</span><br><span style="color: hsl(0, 100%, 40%);">-          if (osmo_fsm_register(&fsm_mgcp_client) < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-                     return NULL;</span><br><span style="color: hsl(0, 100%, 40%);">-            fsm_registered = true;</span><br><span style="color: hsl(0, 100%, 40%);">-  }</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>    /* Allocate and configure a new fsm instance */</span><br><span>      fi = osmo_fsm_inst_alloc_child(&fsm_mgcp_client, parent_fi, parent_term_evt);</span><br><span>    OSMO_ASSERT(fi);</span><br><span>@@ -749,3 +741,8 @@</span><br><span>               return "empty";</span><br><span>    return buf;</span><br><span> }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static __attribute__((constructor)) void osmo_mgcp_client_fsm_init()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+   OSMO_ASSERT(osmo_fsm_register(&fsm_mgcp_client) == 0);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-mgw/+/16383">change 16383</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-mgw/+/16383"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-mgw </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia73ba8e46c13d925e88203e08a8966839e573183 </div>
<div style="display:none"> Gerrit-Change-Number: 16383 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>