if (network->device == NULL)
return -ENODEV;
- __connman_device_disconnect(network->device);
-
network->connecting = TRUE;
+ __connman_device_disconnect(network->device);
+
service = __connman_service_lookup_from_network(network);
err = network->driver->connect(network);
case CONNMAN_SERVICE_STATE_UNKNOWN:
case CONNMAN_SERVICE_STATE_IDLE:
case CONNMAN_SERVICE_STATE_FAILURE:
+ if (service->network != NULL)
+ return __connman_network_get_connecting(
+ service->network);
case CONNMAN_SERVICE_STATE_DISCONNECT:
case CONNMAN_SERVICE_STATE_READY:
case CONNMAN_SERVICE_STATE_ONLINE:
return -1;
if (is_connected(service_b) == TRUE)
return 1;
+
+ if (is_connecting(service_a) == TRUE)
+ return -1;
+ if (is_connecting(service_b) == TRUE)
+ return 1;
}
if (service_a->order > service_b->order)