mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-11-09 12:48:43 +00:00
Refeed done hooks are called in the same order as the requests came in
This commit is contained in:
parent
0b6e752bd9
commit
f9b46a1ba1
@ -312,10 +312,20 @@ rt_export_next_feed(struct rt_export_feeder *f)
|
|||||||
return feed;
|
return feed;
|
||||||
|
|
||||||
/* Feeding done */
|
/* Feeding done */
|
||||||
|
struct rt_feeding_request *reverse = NULL;
|
||||||
while (f->feeding)
|
while (f->feeding)
|
||||||
{
|
{
|
||||||
struct rt_feeding_request *rfr = f->feeding;
|
struct rt_feeding_request *rfr = f->feeding;
|
||||||
f->feeding = rfr->next;
|
f->feeding = rfr->next;
|
||||||
|
rfr->next = reverse;
|
||||||
|
reverse = rfr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Call the done hook in the same order as requests came in */
|
||||||
|
while (reverse)
|
||||||
|
{
|
||||||
|
struct rt_feeding_request *rfr = reverse;
|
||||||
|
reverse = rfr->next;
|
||||||
CALL(rfr->done, rfr);
|
CALL(rfr->done, rfr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user