From: Daniel Wagner Date: Mon, 17 Oct 2011 13:50:17 +0000 (+0200) Subject: session: Do not select ongoing service again X-Git-Tag: 0.78~136 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3dc085c888225047f6b266bbf883b8dc88e4752c;p=platform%2Fupstream%2Fconnman.git 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 --- 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);