<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-cbc/+/21995">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">don't immediately delete all state about deleted messages<br><br>keep them around so we can still check statistics later on<br><br>Change-Id: I59f733dcbd5f9ea2617ceccf652c35fdd23a444b<br>---<br>M src/cbc_data.h<br>M src/cbc_main.c<br>M src/cbc_vty.c<br>M src/smscb_message_fsm.c<br>4 files changed, 19 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/cbc_data.h b/src/cbc_data.h</span><br><span>index 9ad7c70..7900fbc 100644</span><br><span>--- a/src/cbc_data.h</span><br><span>+++ b/src/cbc_data.h</span><br><span>@@ -154,6 +154,7 @@</span><br><span> </span><br><span>  struct {</span><br><span>             time_t created;         /* when was this message created? */</span><br><span style="color: hsl(120, 100%, 40%);">+          time_t expired;         /* when has this message expired? */</span><br><span>         } time;</span><br><span> };</span><br><span> </span><br><span>@@ -167,6 +168,7 @@</span><br><span>      } config;</span><br><span> </span><br><span>        struct llist_head messages;     /* cbc_message.list */</span><br><span style="color: hsl(120, 100%, 40%);">+        struct llist_head expired_messages;     /* cbc_message.list */</span><br><span>       struct llist_head peers;        /* cbc_peer.list */</span><br><span>  struct {</span><br><span>             struct osmo_it_q *rest2main;</span><br><span>diff --git a/src/cbc_main.c b/src/cbc_main.c</span><br><span>index f664afb..77020db 100644</span><br><span>--- a/src/cbc_main.c</span><br><span>+++ b/src/cbc_main.c</span><br><span>@@ -179,6 +179,7 @@</span><br><span>      g_cbc = talloc_zero(tall_cbc_ctx, struct cbc);</span><br><span>       INIT_LLIST_HEAD(&g_cbc->peers);</span><br><span>       INIT_LLIST_HEAD(&g_cbc->messages);</span><br><span style="color: hsl(120, 100%, 40%);">+     INIT_LLIST_HEAD(&g_cbc->expired_messages);</span><br><span> </span><br><span>        cbc_vty_init();</span><br><span> </span><br><span>diff --git a/src/cbc_vty.c b/src/cbc_vty.c</span><br><span>index 8e2e022..323497c 100644</span><br><span>--- a/src/cbc_vty.c</span><br><span>+++ b/src/cbc_vty.c</span><br><span>@@ -101,6 +101,12 @@</span><br><span>          dump_one_cbc_msg(vty, cbc_msg);</span><br><span>      }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(cbc_msg, &g_cbc->expired_messages, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+                if (cbc_msg->msg.is_etws)</span><br><span style="color: hsl(120, 100%, 40%);">+                  continue;</span><br><span style="color: hsl(120, 100%, 40%);">+             dump_one_cbc_msg(vty, cbc_msg);</span><br><span style="color: hsl(120, 100%, 40%);">+       }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span>@@ -238,14 +244,18 @@</span><br><span>         vty_out(vty,</span><br><span> "|-----|-----|--------------------|-------------|------|-|------------|%s", VTY_NEWLINE);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>      llist_for_each_entry(cbc_msg, &g_cbc->messages, list) {</span><br><span>               if (!cbc_msg->msg.is_etws)</span><br><span>                        continue;</span><br><span>            dump_one_etws_msg(vty, cbc_msg);</span><br><span>     }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ llist_for_each_entry(cbc_msg, &g_cbc->expired_messages, list) {</span><br><span style="color: hsl(120, 100%, 40%);">+                if (!cbc_msg->msg.is_etws)</span><br><span style="color: hsl(120, 100%, 40%);">+                 continue;</span><br><span style="color: hsl(120, 100%, 40%);">+             dump_one_etws_msg(vty, cbc_msg);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  return CMD_SUCCESS;</span><br><span> }</span><br><span> </span><br><span>diff --git a/src/smscb_message_fsm.c b/src/smscb_message_fsm.c</span><br><span>index 65a749b..0dd1f13 100644</span><br><span>--- a/src/smscb_message_fsm.c</span><br><span>+++ b/src/smscb_message_fsm.c</span><br><span>@@ -209,7 +209,10 @@</span><br><span>                 rest_it_op_complete(cbcmsg->it_op);</span><br><span>               cbcmsg->it_op = NULL;</span><br><span>     }</span><br><span style="color: hsl(0, 100%, 40%);">-       osmo_fsm_inst_term(fi, OSMO_FSM_TERM_REGULAR, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+  /* move from active to expired messages */</span><br><span style="color: hsl(120, 100%, 40%);">+    llist_del(&cbcmsg->list);</span><br><span style="color: hsl(120, 100%, 40%);">+      llist_add_tail(&cbcmsg->list, &g_cbc->expired_messages);</span><br><span style="color: hsl(120, 100%, 40%);">+        cbcmsg->time.expired = time(NULL);</span><br><span> }</span><br><span> </span><br><span> static struct osmo_fsm_state smscb_fsm_states[] = {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-cbc/+/21995">change 21995</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-cbc/+/21995"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-cbc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I59f733dcbd5f9ea2617ceccf652c35fdd23a444b </div>
<div style="display:none"> Gerrit-Change-Number: 21995 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>