<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-e1d/+/19045">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">add _e1d_line_destroy() / _e1d_intf_destroy() functions<br><br>Change-Id: I5425d22288d7239063d621bddfe81e9cf21f1a5b<br>---<br>M src/e1d.h<br>M src/intf_line.c<br>2 files changed, 35 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/45/19045/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/e1d.h b/src/e1d.h</span><br><span>index 55b4800..0cc1993 100644</span><br><span>--- a/src/e1d.h</span><br><span>+++ b/src/e1d.h</span><br><span>@@ -94,9 +94,15 @@</span><br><span> struct e1_intf *</span><br><span> _e1_intf_new(struct e1_daemon *e1d, void *drv_data);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void</span><br><span style="color: hsl(120, 100%, 40%);">+_e1_intf_destroy(struct e1_intf *intf);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> struct e1_line *</span><br><span> _e1_line_new(struct e1_intf *intf, void *drv_data);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void</span><br><span style="color: hsl(120, 100%, 40%);">+_e1_line_destroy(struct e1_line *line);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> int</span><br><span> _e1_rx_hdlcfs(struct e1_ts *ts, uint8_t *buf, int len);</span><br><span> </span><br><span>diff --git a/src/intf_line.c b/src/intf_line.c</span><br><span>index 27fc5db..0dfa3fc 100644</span><br><span>--- a/src/intf_line.c</span><br><span>+++ b/src/intf_line.c</span><br><span>@@ -67,6 +67,21 @@</span><br><span>        return intf;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void</span><br><span style="color: hsl(120, 100%, 40%);">+_e1_intf_destroy(struct e1_intf *intf)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+        struct e1_line *line, *line2;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* destroy all lines */</span><br><span style="color: hsl(120, 100%, 40%);">+       llist_for_each_entry_safe(line, line2, &intf->lines, list)</span><br><span style="color: hsl(120, 100%, 40%);">+             _e1_line_destroy(line);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* remove from global list of interfaces */</span><br><span style="color: hsl(120, 100%, 40%);">+   llist_del(&intf->list);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      talloc_free(intf);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> struct e1_line *</span><br><span> _e1_line_new(struct e1_intf *intf, void *drv_data)</span><br><span> {</span><br><span>@@ -95,6 +110,20 @@</span><br><span>         return line;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void</span><br><span style="color: hsl(120, 100%, 40%);">+_e1_line_destroy(struct e1_line *line)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+        /* close all [peer] file descriptors */</span><br><span style="color: hsl(120, 100%, 40%);">+       for (int i=0; i<32; i++)</span><br><span style="color: hsl(120, 100%, 40%);">+           _e1d_ts_stop(&line->ts[i]);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* remove from per-interface list of lines */</span><br><span style="color: hsl(120, 100%, 40%);">+ llist_del(&line->list);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      talloc_free(line);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> // ---------------------------------------------------------------------------</span><br><span> // data transfer</span><br><span> // ---------------------------------------------------------------------------</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-e1d/+/19045">change 19045</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-e1d/+/19045"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-e1d </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I5425d22288d7239063d621bddfe81e9cf21f1a5b </div>
<div style="display:none"> Gerrit-Change-Number: 19045 </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>