manager: abstract code from do_sleep_wake() to reuse it
The code that is adding the devices to the sleeping list and taking them down should be moved to a separated function. This way we can reuse it and we avoid duplicating code.
This commit is contained in:
@@ -7215,6 +7215,29 @@ device_sleep_cb(NMDevice *device, GParamSpec *pspec, NMManager *self)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_handle_device_takedown(NMManager *self, NMDevice *device, gboolean suspending)
|
||||||
|
{
|
||||||
|
nm_device_notify_sleeping(device);
|
||||||
|
|
||||||
|
if (nm_device_is_activating(device)
|
||||||
|
|| nm_device_get_state(device) == NM_DEVICE_STATE_ACTIVATED) {
|
||||||
|
_LOGD(LOGD_SUSPEND,
|
||||||
|
"sleep: wait disconnection of device %s",
|
||||||
|
nm_device_get_ip_iface(device));
|
||||||
|
|
||||||
|
if (sleep_devices_add(self, device, suspending))
|
||||||
|
nm_device_queue_state(device,
|
||||||
|
NM_DEVICE_STATE_DEACTIVATING,
|
||||||
|
NM_DEVICE_STATE_REASON_SLEEPING);
|
||||||
|
} else {
|
||||||
|
nm_device_set_unmanaged_by_flags(device,
|
||||||
|
NM_UNMANAGED_SLEEPING,
|
||||||
|
NM_UNMAN_FLAG_OP_SET_UNMANAGED,
|
||||||
|
NM_DEVICE_STATE_REASON_SLEEPING);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_sleep_wake(NMManager *self, gboolean sleeping_changed)
|
do_sleep_wake(NMManager *self, gboolean sleeping_changed)
|
||||||
{
|
{
|
||||||
@@ -7249,24 +7272,7 @@ do_sleep_wake(NMManager *self, gboolean sleeping_changed)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
nm_device_notify_sleeping(device);
|
_handle_device_takedown(self, device, suspending);
|
||||||
|
|
||||||
if (nm_device_is_activating(device)
|
|
||||||
|| nm_device_get_state(device) == NM_DEVICE_STATE_ACTIVATED) {
|
|
||||||
_LOGD(LOGD_SUSPEND,
|
|
||||||
"sleep: wait disconnection of device %s",
|
|
||||||
nm_device_get_ip_iface(device));
|
|
||||||
|
|
||||||
if (sleep_devices_add(self, device, suspending))
|
|
||||||
nm_device_queue_state(device,
|
|
||||||
NM_DEVICE_STATE_DEACTIVATING,
|
|
||||||
NM_DEVICE_STATE_REASON_SLEEPING);
|
|
||||||
} else {
|
|
||||||
nm_device_set_unmanaged_by_flags(device,
|
|
||||||
NM_UNMANAGED_SLEEPING,
|
|
||||||
NM_UNMAN_FLAG_OP_SET_UNMANAGED,
|
|
||||||
NM_DEVICE_STATE_REASON_SLEEPING);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
_LOGD(LOGD_SUSPEND, "sleep: %s...", waking_from_suspend ? "waking up" : "re-enabling");
|
_LOGD(LOGD_SUSPEND, "sleep: %s...", waking_from_suspend ? "waking up" : "re-enabling");
|
||||||
|
Reference in New Issue
Block a user