service: Update notifier state when relevant while getting ready
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Tue, 15 Jan 2013 08:20:44 +0000 (10:20 +0200)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Tue, 15 Jan 2013 14:51:42 +0000 (16:51 +0200)
When getting 1 service to online, and disonnecting it: Manager state
stays at 'ready'. This is due to service updating the notifier about
its state 'ready' 2 times. Once when connecting: idle -> ready, and
once when disconnecting: online -> ready.

src/service.c

index 5845453..07d89ba 100644 (file)
@@ -5074,7 +5074,8 @@ static int service_indicate_state(struct connman_service *service)
                dns_changed(service);
                domain_changed(service);
 
-               __connman_notifier_connect(service->type);
+               if (old_state != CONNMAN_SERVICE_STATE_ONLINE)
+                       __connman_notifier_connect(service->type);
 
                if (service->type == CONNMAN_SERVICE_TYPE_WIFI &&
                        connman_network_get_bool(service->network,