summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorForest Bond <forest.bond@rapidrollout.com>2012-12-05 16:44:27 -0500
committerPatrik Flykt <patrik.flykt@linux.intel.com>2013-03-06 13:02:43 +0200
commitf1d0e1d8925e0bdd9352dd5a59516e274312205d (patch)
tree8f7a45e2f135dd17727224ccbf421e1f9c761b19 /src
parent0ba752cd651f972554f573534794b6e17c0e15fb (diff)
downloadconnman-f1d0e1d8925e0bdd9352dd5a59516e274312205d.tar.gz
connman-f1d0e1d8925e0bdd9352dd5a59516e274312205d.tar.bz2
connman-f1d0e1d8925e0bdd9352dd5a59516e274312205d.zip
service: Restart wispr on nameserver change
This is needed to make a service go online in the case where it was already connected and then manual IPv4 & nameservers settings are applied. In that case, wispr is restarted with the new IP settings, but the nameservers have not been set yet, so the wispr test fails and the service remains in ready state.
Diffstat (limited to 'src')
-rw-r--r--src/service.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index 4dfc86b4..edc6ef35 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3146,6 +3146,16 @@ static DBusMessage *set_property(DBusConnection *conn,
update_nameservers(service);
dns_configuration_changed(service);
+ if (__connman_service_is_connected_state(service,
+ CONNMAN_IPCONFIG_TYPE_IPV4))
+ __connman_wispr_start(service,
+ CONNMAN_IPCONFIG_TYPE_IPV4);
+
+ if (__connman_service_is_connected_state(service,
+ CONNMAN_IPCONFIG_TYPE_IPV6))
+ __connman_wispr_start(service,
+ CONNMAN_IPCONFIG_TYPE_IPV6);
+
service_save(service);
} else if (g_str_equal(name, "Timeservers.Configuration") == TRUE) {
DBusMessageIter entry;