]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journal-remote: add helper function and use hashmap_free_with_destructor
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 28 Nov 2017 11:38:15 +0000 (12:38 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 28 Nov 2017 20:34:46 +0000 (21:34 +0100)
src/journal-remote/journal-remote.c

index 01a65437087198d0d8c3a8133f641707bfbcae37..10dd3db270b1f80e8660bea19d375fd5e3778c16 100644 (file)
@@ -1043,18 +1043,17 @@ static int remoteserver_init(RemoteServer *s,
         return 0;
 }
 
+static void MHDDaemonWrapper_free(MHDDaemonWrapper *d) {
+        MHD_stop_daemon(d->daemon);
+        sd_event_source_unref(d->io_event);
+        sd_event_source_unref(d->timer_event);
+        free(d);
+}
+
 static void server_destroy(RemoteServer *s) {
         size_t i;
-        MHDDaemonWrapper *d;
-
-        while ((d = hashmap_steal_first(s->daemons))) {
-                MHD_stop_daemon(d->daemon);
-                sd_event_source_unref(d->io_event);
-                sd_event_source_unref(d->timer_event);
-                free(d);
-        }
 
-        hashmap_free(s->daemons);
+        hashmap_free_with_destructor(s->daemons, MHDDaemonWrapper_free);
 
         assert(s->sources_size == 0 || s->sources);
         for (i = 0; i < s->sources_size; i++)