util: make calling remove_from_list multiple times in a row safe

This commit fixes an infinite loop in foreach_s if remove_from_list is used
more than once on the same item with other list operations in between.

NOTE: This is a candidate for the 7.9 branch because the commit
"r300g: fixup long-lived BO maps being incorrectly unmapped when flushing"
depends on it.
This commit is contained in:
Marek Olšák 2010-09-23 20:39:27 +02:00
parent f46523e0bc
commit 68afbe89c7
1 changed files with 2 additions and 0 deletions

View File

@ -46,6 +46,8 @@
do { \
(elem)->next->prev = (elem)->prev; \
(elem)->prev->next = (elem)->next; \
(elem)->next = elem; \
(elem)->prev = elem; \
} while (0)
/**