diff options
author | hyunuktak <hyunuk.tak@samsung.com> | 2015-08-07 17:11:34 +0900 |
---|---|---|
committer | hyunuktak <hyunuk.tak@samsung.com> | 2015-08-07 17:11:56 +0900 |
commit | 6aa4055ef0544ae85457c25c510fe3db04949c43 (patch) | |
tree | 94018be3cef92c33b60650c488dc15536c8f978a /src/agent.c | |
parent | bc55a3df0d4d2d97964ce2fadc9fe3ffc4953f4e (diff) | |
download | connman-6aa4055ef0544ae85457c25c510fe3db04949c43.tar.gz connman-6aa4055ef0544ae85457c25c510fe3db04949c43.tar.bz2 connman-6aa4055ef0544ae85457c25c510fe3db04949c43.zip |
Base Code merged to SPIN 2.4submit/tizen/20150810.034432
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com>
Change-Id: I84a42375b5c59739e4caca1f726699ea7647ef17
Diffstat (limited to 'src/agent.c')
-rwxr-xr-x[-rw-r--r--] | src/agent.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/agent.c b/src/agent.c index a3400262..bdeb0e71 100644..100755 --- a/src/agent.c +++ b/src/agent.c @@ -502,7 +502,7 @@ void connman_agent_cancel(void *user_context) g_hash_table_iter_init(&iter, agent_hash); while (g_hash_table_iter_next(&iter, &key, &value)) { - GList *list; + GList *list, *next; struct connman_agent *agent = value; /* @@ -512,6 +512,8 @@ void connman_agent_cancel(void *user_context) while (list) { struct connman_agent_request *request = list->data; + next = list->next; + if (request && request->user_context && request->user_context == user_context) { @@ -521,10 +523,11 @@ void connman_agent_cancel(void *user_context) agent_request_free(request); - agent->queue = list->next; - list = g_list_delete_link(list, list); - } else - list = list->next; + agent->queue = g_list_delete_link(agent->queue, + list); + } + + list = next; } /* |