[riot-notifications] [RIOT] remove all vtimers before (re)scheduliing it (#373)

Oleg Hahm notifications at github.com
Fri Nov 22 14:37:50 CET 2013


Otherwise it might cause an endless loop in `queue.c` due to multiple nodes of the same instance (e.g. `dao_timer`).

(Would look like:
```
$5 = (struct queue_node_t *) 0x809b1e0 <dao_timer>
(gdb) print node->next->next->next->next
$6 = (struct queue_node_t *) 0x8083dfc <con_buf+7644>
(gdb) print node->next->next->next->next->next
<oleg> $7 = (struct queue_node_t *) 0x809b1e0 <dao_timer>
<oleg> (gdb) print node->next->next->next->next->next->next
<oleg> $8 = (struct queue_node_t *) 0x8083dfc <con_buf+7644>
<oleg> (gdb) print node->next->next->next->next->next->next->next
<oleg> $9 = (struct queue_node_t *) 0x809b1e0 <dao_timer>
<oleg> (gdb) print node->next->next->next->next->next->next->next->next
<oleg> $10 = (struct queue_node_t *) 0x8083dfc <con_buf+7644>
<oleg> (gdb) print node->next->next->next->next->next->next->next->next->next
<oleg> $11 = (struct queue_node_t *) 0x809b1e0 <dao_timer>
```)
You can merge this Pull Request by running:

  git pull https://github.com/OlegHahm/RIOT trickle_dao_fix

Or you can view, comment on it, or merge it online at:

  https://github.com/RIOT-OS/RIOT/pull/373

-- Commit Summary --

  * remove all vtimers before (re)scheduliing it

-- File Changes --

    M sys/net/rpl/trickle.c (3)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/373.patch
https://github.com/RIOT-OS/RIOT/pull/373.diff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20131122/3459dd5d/attachment.html>


More information about the notifications mailing list