From 3dc085c888225047f6b266bbf883b8dc88e4752c Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Mon, 17 Oct 2011 15:50:17 +0200 Subject: [PATCH] session: Do not select ongoing service again In case Session.Connect() is called several times while the selected services is still going from the IDLE state to ONLINE state (or error state), do not call select_and_connect() again. This leads to an inconsistent ref counting on the service. Fixes BMC#23630 --- src/session.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/session.c b/src/session.c index 990caea..384714f 100644 --- a/src/session.c +++ b/src/session.c @@ -1038,6 +1038,11 @@ static void session_changed(struct connman_session *session, break; } + if (info->entry != NULL && + is_connecting(info->entry->state) == TRUE) { + break; + } + select_and_connect(session, CONNMAN_SESSION_REASON_CONNECT); -- 2.7.4