From 1d08cedd8acf8fcce4a8201e204c08922299557a Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Wed, 8 Jul 2009 22:39:58 -0700 Subject: [PATCH] Don't trigger auto-connect when connection attempt is pending --- src/service.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/service.c b/src/service.c index 5c4379b..47ba507 100644 --- a/src/service.c +++ b/src/service.c @@ -435,6 +435,24 @@ static connman_bool_t is_connecting(struct connman_service *service) return FALSE; } +static struct connman_service *find_pending_service(void) +{ + struct connman_service *service; + GSequenceIter *iter; + + iter = g_sequence_get_begin_iter(service_list); + + while (g_sequence_iter_is_end(iter) == FALSE) { + service = g_sequence_get(iter); + if (service->pending != NULL) + return service; + + iter = g_sequence_iter_next(iter); + } + + return NULL; +} + static void __connman_service_auto_connect(void) { struct connman_service *service; @@ -442,6 +460,10 @@ static void __connman_service_auto_connect(void) DBG(""); + service = find_pending_service(); + if (service != NULL) + return; + iter = g_sequence_get_begin_iter(service_list); if (g_sequence_iter_is_end(iter) == TRUE) return; -- 2.7.4