+/* --- @l_destroy@ --- *
+ *
+ * Arguments: @lmem *lm@ = pointer to locked memory descriptor
+ *
+ * Returns: ---
+ *
+ * Use: Disposes of a locked memory arena permanently.
+ */
+
+void l_destroy(lmem *lm)
+{
+ l_node *l;
+
+ l = lm->l;
+ while (l) {
+ l_node *ll = l->next;
+ DESTROY(l);
+ l = ll;
+ }
+ memset(lm->p, 0, lm->sz);
+
+#ifdef HAVE_MLOCK
+ if (lm->f & LF_LOCKED)
+ munmap(lm->p, lm->sz);
+ else
+#endif
+ free(lm->p); /*sic*/
+}
+