From 9dabc5af5a19a7da74357afcf9f3301ada173e8e Mon Sep 17 00:00:00 2001 From: Arron Wang Date: Mon, 15 Oct 2012 10:56:00 +0800 Subject: [PATCH] Tizen: Fix reply pending bug --- src/service.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/service.c b/src/service.c index 24e9562..893b4fc 100644 --- a/src/service.c +++ b/src/service.c @@ -5186,7 +5186,16 @@ static int service_indicate_state(struct connman_service *service) if (new_state == CONNMAN_SERVICE_STATE_IDLE && old_state != CONNMAN_SERVICE_STATE_DISCONNECT) { +#if !defined TIZEN_EXT + /* + * Description: 'service->pending' should be cleared whenever + * connection is finished regardless success or failure. + * If the service is disconnected in configuration state by + * dhcp failure or by the other part of connman, new state is + * 'idle' but old state is 'disconnect'. So it's not cleared. + */ reply_pending(service, ECONNABORTED); +#endif __connman_service_disconnect(service); } @@ -5208,6 +5217,9 @@ static int service_indicate_state(struct connman_service *service) if (new_state == CONNMAN_SERVICE_STATE_IDLE) { connman_bool_t reconnect; +#if defined TIZEN_EXT + reply_pending(service, ECONNABORTED); +#endif reconnect = get_reconnect_state(service); if (reconnect == TRUE) __connman_service_auto_connect(); -- 2.7.4