session: Only select new service if not in progress
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Wed, 24 Aug 2011 16:11:27 +0000 (18:11 +0200)
committerDaniel Wagner <daniel.wagner@bmw-carit.de>
Mon, 19 Sep 2011 08:44:15 +0000 (10:44 +0200)
src/session.c

index 0d48397..187db48 100644 (file)
@@ -940,14 +940,14 @@ static void session_changed(struct connman_session *session,
 
                break;
        case CONNMAN_SESSION_TRIGGER_SERVICE:
-               switch (info->reason) {
-               case CONNMAN_SESSION_REASON_CONNECT:
-                       if (info->entry != NULL &&
-                                       (is_connecting(info->entry->state) == TRUE ||
+               if (info->entry != NULL &&
+                               (is_connecting(info->entry->state) == TRUE ||
                                        is_online(info->entry->state) == TRUE)) {
-                               break;
-                       }
+                       break;
+               }
 
+               switch (info->reason) {
+               case CONNMAN_SESSION_REASON_CONNECT:
                        /*
                         * We are not online, we are not connecting, that
                         * means we could still have a valid info->entry.