mirror of
https://github.com/systemd/systemd.git
synced 2025-01-18 10:04:04 +03:00
network: introduce link_save_and_clean()
This commit is contained in:
parent
f281fc1e95
commit
c2a6595014
@ -629,10 +629,9 @@ int bus_link_method_reconfigure(sd_bus_message *message, void *userdata, sd_bus_
|
||||
return r;
|
||||
|
||||
link_set_state(l, LINK_STATE_INITIALIZED);
|
||||
r = link_save(l);
|
||||
r = link_save_and_clean(l);
|
||||
if (r < 0)
|
||||
return r;
|
||||
link_clean(l);
|
||||
|
||||
return sd_bus_reply_method_return(message, NULL);
|
||||
}
|
||||
|
@ -4525,6 +4525,17 @@ void link_clean(Link *link) {
|
||||
link_unref(set_remove(link->manager->dirty_links, link));
|
||||
}
|
||||
|
||||
int link_save_and_clean(Link *link) {
|
||||
int r;
|
||||
|
||||
r = link_save(link);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
link_clean(link);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const char* const link_state_table[_LINK_STATE_MAX] = {
|
||||
[LINK_STATE_PENDING] = "pending",
|
||||
[LINK_STATE_INITIALIZED] = "initialized",
|
||||
|
@ -208,6 +208,7 @@ int link_update(Link *link, sd_netlink_message *message);
|
||||
void link_dirty(Link *link);
|
||||
void link_clean(Link *link);
|
||||
int link_save(Link *link);
|
||||
int link_save_and_clean(Link *link);
|
||||
|
||||
int link_carrier_reset(Link *link);
|
||||
bool link_has_carrier(Link *link);
|
||||
|
@ -1727,8 +1727,7 @@ static int manager_dirty_handler(sd_event_source *s, void *userdata) {
|
||||
manager_save(m);
|
||||
|
||||
SET_FOREACH(link, m->dirty_links, i)
|
||||
if (link_save(link) >= 0)
|
||||
link_clean(link);
|
||||
(void) link_save_and_clean(link);
|
||||
|
||||
return 1;
|
||||
}
|
||||
@ -1899,7 +1898,7 @@ int manager_start(Manager *m) {
|
||||
manager_save(m);
|
||||
|
||||
HASHMAP_FOREACH(link, m->links, i)
|
||||
link_save(link);
|
||||
(void) link_save(link);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user