X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Frtnl.c;h=dfe6bb698f297653a4e759b104d539673819ab2e;hb=dd3cccc5e67548dcc2dd6c6254ed6c97859085d5;hp=cba5ef7acc675f14f8dc08e8ffcb714b17de7053;hpb=6b2381a2adabea7d8309ff158ef675ff88184305;p=platform%2Fupstream%2Fconnman.git diff --git a/src/rtnl.c b/src/rtnl.c index cba5ef7..dfe6bb6 100644 --- a/src/rtnl.c +++ b/src/rtnl.c @@ -494,14 +494,15 @@ static void process_newlink(unsigned short type, int index, unsigned flags, __connman_technology_add_interface(interface->service_type, interface->index, interface->ident); - for (list = watch_list; list; list = list->next) { + list = watch_list; + while (list) { + GSList *next = list->next; struct watch_data *watch = list->data; - if (watch->index != index) - continue; - - if (watch->newlink) + if (watch->index == index && watch->newlink) watch->newlink(flags, change, watch->user_data); + + list = next; } }