Hi Patrik,

> 
> > The manager state is a global connection state of the system,
> > and it is a result of evaluating various notification states.
> > 
> > In order to ensure the consistency of data, ConnMan should
> > change the service state before changing the manager state,
> > wheter to change local states or emitting remote signals.
> 
> What consistency are you after here? Is it the ordering between
> net.connman.Manager and net.connman.Service State properties? If yes, I

Yes, it is the ordering between net.connman.Manager and net.connman.Service 
State properties.

> believe that setting PreferredTechnologies will still send the Manager
> and Service states in the current order.

--- a/src/service.c
+++ b/src/service.c
@@ -4109,8 +4109,8 @@ static void apply_relevant_default_downgrade(struct 
connman_service *service)
        if (def_service == service &&
                        def_service->state == CONNMAN_SERVICE_STATE_ONLINE) {
                def_service->state = CONNMAN_SERVICE_STATE_READY;
-               __connman_notifier_leave_online(def_service->type);
                state_changed(def_service);
+               __connman_notifier_leave_online(def_service->type);
        }
 }

Because 'apply_relevant_default_downgrade' has been indirectly called by
'service_update_preferred_order',if apply this patch, when setting 
PreferredTechnologies, net.connman.Service State properties will be changed 
before net.connman.Manager 
State property.

However, this patch is only a minor suggestion, you can ignore it.

Thanks,

Chengyi


                                          
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to