diff options
author | Arron Wang <arron.wang@intel.com> | 2012-10-15 10:56:00 +0800 |
---|---|---|
committer | Zhang zhengguang <zhengguang.zhang@intel.com> | 2013-07-01 11:05:12 +0800 |
commit | 9dabc5af5a19a7da74357afcf9f3301ada173e8e (patch) | |
tree | fb21b748da4a5c69600e59ac698d13b6f621f4d0 /src | |
parent | e151cda8b88a2e3f697180a8d00f02a31e4c3213 (diff) | |
download | connman-9dabc5af5a19a7da74357afcf9f3301ada173e8e.tar.gz connman-9dabc5af5a19a7da74357afcf9f3301ada173e8e.tar.bz2 connman-9dabc5af5a19a7da74357afcf9f3301ada173e8e.zip |
Tizen: Fix reply pending bug
Diffstat (limited to 'src')
-rw-r--r-- | src/service.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c index 24e9562a..893b4fce 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(); |