diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2011-08-11 16:56:18 +0200 |
---|---|---|
committer | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2011-08-11 17:40:52 +0200 |
commit | f6a83bfa70bd6a6f4f442462caabf8ac017ac34f (patch) | |
tree | 9c3f98fda5b917ff3009ff68ae7a4880f43a2068 /src/session.c | |
parent | 7199d741c0f5de2cdf85af1f0e34ee6e6b0ca4bd (diff) | |
download | connman-f6a83bfa70bd6a6f4f442462caabf8ac017ac34f.tar.gz connman-f6a83bfa70bd6a6f4f442462caabf8ac017ac34f.tar.bz2 connman-f6a83bfa70bd6a6f4f442462caabf8ac017ac34f.zip |
session: Insert service_entry into service_list
When an element is removed from the list, the element will be passed
to destroy_service_entry() which expects only elements of type struct
service_entry.
Diffstat (limited to 'src/session.c')
-rw-r--r-- | src/session.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/session.c b/src/session.c index 99fdf3b7..f17e284b 100644 --- a/src/session.c +++ b/src/session.c @@ -1572,6 +1572,7 @@ static void service_add(struct connman_service *service, GSequenceIter *iter_service_list; gpointer key, value; struct connman_session *session; + struct service_entry *entry; DBG("service %p", service); @@ -1583,9 +1584,14 @@ static void service_add(struct connman_service *service, if (service_match(session, service) == FALSE) continue; + entry = create_service_entry(service, name, + CONNMAN_SERVICE_STATE_IDLE); + if (entry == NULL) + continue; + iter_service_list = g_sequence_insert_sorted(session->service_list, - service, sort_services, + entry, sort_services, session); g_hash_table_replace(session->service_hash, service, |