summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2020-05-19 09:27:08 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2020-05-19 21:40:51 +0200
commit02ea74c92094a69cd09b16cf7a9a3e494791dd1d (patch)
tree4d042ca5f68cf6080e4293dc11f64ff8207ed0d6 /src
parent18deaa39c7b312c226f1c78a106eacc525b27eeb (diff)
downloadNetworkManager-02ea74c92094a69cd09b16cf7a9a3e494791dd1d.tar.gz
core: signal parent-active only when the parent AC is activated
The parent-active signal is used by the manager to determine when the parent active-connection is ready and a connection that depend on it can proceed. The AC state could transition from ACTIVATING directly to DEACTIVATING; in such case we should not emit the signal but instead just stop watching the parent AC. Fixes: 6e382ea91d5f ('active-connection: add parent active connection tracking') https://bugzilla.redhat.com/show_bug.cgi?id=1778073 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/510
Diffstat (limited to 'src')
-rw-r--r--src/nm-active-connection.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nm-active-connection.c b/src/nm-active-connection.c
index 63dd891056..f1bb1ede81 100644
--- a/src/nm-active-connection.c
+++ b/src/nm-active-connection.c
@@ -996,7 +996,9 @@ parent_state_cb (NMActiveConnection *parent_ac,
return;
unwatch_parent (self, TRUE);
- g_signal_emit (self, signals[PARENT_ACTIVE], 0, parent_ac);
+
+ if (parent_state == NM_ACTIVE_CONNECTION_STATE_ACTIVATED)
+ g_signal_emit (self, signals[PARENT_ACTIVE], 0, parent_ac);
}
static void