From 84de38c56915e14c148f558c6acc489a00755696 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Wed, 30 Sep 2015 18:17:43 +0200 Subject: networkd: manager/link - only serialize once per event-loop iteration Every time the state is written out we may trigger third-party apps, so let's be a bit more careful about writing this out unnecessarily. --- src/network/networkd.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/network/networkd.h') diff --git a/src/network/networkd.h b/src/network/networkd.h index cbec6d5b7e..6c5a9939be 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -48,7 +48,10 @@ struct Manager { struct udev_monitor *udev_monitor; sd_event_source *udev_event_source; - bool enumerating; + bool enumerating:1; + bool dirty:1; + + Set *dirty_links; char *state_file; LinkOperationalState operational_state; @@ -83,7 +86,7 @@ int manager_rtnl_enumerate_addresses(Manager *m); int manager_rtnl_process_address(sd_netlink *nl, sd_netlink_message *message, void *userdata); int manager_send_changed(Manager *m, const char *property, ...) _sentinel_; -int manager_save(Manager *m); +void manager_dirty(Manager *m); int manager_address_pool_acquire(Manager *m, int family, unsigned prefixlen, union in_addr_union *found); -- cgit v1.2.3-54-g00ecf