* aware that pthread_mutex_lock() can return error codes, which shouldn't
* prevent critical stack traces from printing.)
*/
-static void
+void
print_stack_trace(char const *title)
{
#ifdef BACKTRACE_ENABLED
/* Programming errors */
__dead void pr_crit(const char *, ...) CHECK_FORMAT(1, 2);
+void print_stack_trace(char const *);
+
int incidence(enum incidence_id, const char *, ...) CHECK_FORMAT(2, 3);
/*
atomic_fetch_add(&deltas->references, 1);
}
+static void
+clean_aspa(struct _delta_aspa *da)
+{
+ aspa_refput(da->aspa);
+}
+
void
deltas_refput(struct deltas *deltas)
{
deltas_v6_cleanup(&deltas->v6.removes, NULL);
deltas_rk_cleanup(&deltas->rk.adds, NULL);
deltas_rk_cleanup(&deltas->rk.removes, NULL);
- deltas_aspa_cleanup(&deltas->aspa.adds, NULL);
- deltas_aspa_cleanup(&deltas->aspa.removes, NULL);
+ deltas_aspa_cleanup(&deltas->aspa.adds, clean_aspa);
+ deltas_aspa_cleanup(&deltas->aspa.removes, clean_aspa);
free(deltas);
}
}