notifier: Remove service from hash in error case
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Tue, 15 Nov 2011 17:12:17 +0000 (18:12 +0100)
committerDaniel Wagner <daniel.wagner@bmw-carit.de>
Tue, 15 Nov 2011 17:12:17 +0000 (18:12 +0100)
CONNMAN_SERVICE_STATE_FAILURE should be treated in the same
way as CONNMAN_SERVICE_STATE_DISCONNECT or CONNMAN_SERVICE_STATE_IDLE
in  __connman_notifier_service_state_changed().

This should help to reduce the "Service state machine inconsistency detected."
error message.

src/notifier.c

index 5ba2264..37c23a9 100644 (file)
@@ -524,6 +524,7 @@ void __connman_notifier_service_state_changed(struct connman_service *service,
 
        switch (state) {
        case CONNMAN_SERVICE_STATE_UNKNOWN:
+       case CONNMAN_SERVICE_STATE_FAILURE:
        case CONNMAN_SERVICE_STATE_DISCONNECT:
        case CONNMAN_SERVICE_STATE_IDLE:
                if (found == FALSE)
@@ -538,7 +539,6 @@ void __connman_notifier_service_state_changed(struct connman_service *service,
        case CONNMAN_SERVICE_STATE_CONFIGURATION:
        case CONNMAN_SERVICE_STATE_READY:
        case CONNMAN_SERVICE_STATE_ONLINE:
-       case CONNMAN_SERVICE_STATE_FAILURE:
                if (found == TRUE)
                        break;