chiark / gitweb /
process: Clear SHUTDOWN hooks in afterfork()
[secnet.git] / util.c
diff --git a/util.c b/util.c
index c459f1340a6d406caf528eebf2f777e173ed3a76..12e52085735508950874bacc4af2dcce571a7a66 100644 (file)
--- a/util.c
+++ b/util.c
@@ -227,6 +227,14 @@ void phase_hooks_init(void)
        LIST_INIT(&hooks[i]);
 }
 
+void clear_phase_hooks(uint32_t phase)
+{
+    struct phase_hook *h, *htmp;
+    LIST_FOREACH_SAFE(h, &hooks[phase], entry, htmp)
+       free(h);
+    LIST_INIT(&hooks[phase]);
+}
+
 bool_t add_hook(uint32_t phase, hook_fn *fn, void *state)
 {
     struct phase_hook *h;