diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2012-04-17 12:32:22 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-04-17 13:38:02 +0300 |
commit | 502db25741c624afaf58ad5f1ee8b99fa6e7fba4 (patch) | |
tree | 6d67b7b63bc3f95d693c87d7afd897abd8d5591f /src | |
parent | 399324696f74d333fc93819c3802c33464dfe91a (diff) | |
download | connman-502db25741c624afaf58ad5f1ee8b99fa6e7fba4.tar.gz connman-502db25741c624afaf58ad5f1ee8b99fa6e7fba4.tar.bz2 connman-502db25741c624afaf58ad5f1ee8b99fa6e7fba4.zip |
service: Default service notifier is called too many times
The default service notifier is invoked even when the default
service has not been changed. This causes unnecessary dbus
signal traffic.
Fixes BMC#25030
Diffstat (limited to 'src')
-rw-r--r-- | src/service.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/service.c b/src/service.c index b76b0a9d..35e88d02 100644 --- a/src/service.c +++ b/src/service.c @@ -42,8 +42,8 @@ static DBusConnection *connection = NULL; static GSequence *service_list = NULL; static GHashTable *service_hash = NULL; static GSList *counter_list = NULL; - static unsigned int autoconnect_timeout = 0; +static struct connman_service *current_default = NULL; struct connman_stats { connman_bool_t valid; @@ -1256,6 +1256,11 @@ static void default_changed(void) { struct connman_service *service = __connman_service_get_default(); + if (service == current_default) + return; + + current_default = service; + __connman_notifier_default_changed(service); } |