since alarm_run_queue is now a local variable, we can use the faster list_for_each_entry() instead of list_for_each_entry_safe() / list_del(). --- src/alarm.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/alarm.c b/src/alarm.c index c86ce44..8056ee6 100644 --- a/src/alarm.c +++ b/src/alarm.c @@ -123,7 +123,7 @@ do_alarm_run(struct timeval *next_run) { struct list_head alarm_run_queue; struct rb_node *node; - struct alarm_block *this, *tmp; + struct alarm_block *this; struct timeval tv; gettimeofday(&tv, NULL); @@ -138,8 +138,7 @@ do_alarm_run(struct timeval *next_run) list_add(&this->list, &alarm_run_queue); } - list_for_each_entry_safe(this, tmp, &alarm_run_queue, list) { - list_del(&this->list); + list_for_each_entry(this, &alarm_run_queue, list) { rb_erase(&this->node, &alarm_root); RB_CLEAR_NODE(&this->node); this->function(this, this->data); - To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html