mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-08 03:28:31 +00:00
doc: Update docs to represent changes on the ground
The lists documentation had not been updated to represent the for_eachXXX to frr_eachXXX changes. Make it so. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
d78978e49f
commit
493ecb4ffa
@ -115,7 +115,7 @@ Functions provided:
|
|||||||
+------------------------------------+------+------+------+---------+------------+
|
+------------------------------------+------+------+------+---------+------------+
|
||||||
| _find_lt, _find_gteq | -- | -- | -- | yes | yes |
|
| _find_lt, _find_gteq | -- | -- | -- | yes | yes |
|
||||||
+------------------------------------+------+------+------+---------+------------+
|
+------------------------------------+------+------+------+---------+------------+
|
||||||
| use with for_each() macros | yes | yes | yes | yes | yes |
|
| use with frr_each() macros | yes | yes | yes | yes | yes |
|
||||||
+------------------------------------+------+------+------+---------+------------+
|
+------------------------------------+------+------+------+---------+------------+
|
||||||
|
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ Common iteration macros
|
|||||||
|
|
||||||
The following iteration macros work across all data structures:
|
The following iteration macros work across all data structures:
|
||||||
|
|
||||||
.. c:function:: for_each(Z, &head, item)
|
.. c:function:: frr_each(Z, &head, item)
|
||||||
|
|
||||||
Equivalent to:
|
Equivalent to:
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ The following iteration macros work across all data structures:
|
|||||||
Note that this will fail if the list is modified while being iterated
|
Note that this will fail if the list is modified while being iterated
|
||||||
over.
|
over.
|
||||||
|
|
||||||
.. c:function:: for_each_safe(Z, &head, item)
|
.. c:function:: frr_each_safe(Z, &head, item)
|
||||||
|
|
||||||
Same as the previous, but the next element is pre-loaded into a "hidden"
|
Same as the previous, but the next element is pre-loaded into a "hidden"
|
||||||
variable (named ``Z_safe``.) Equivalent to:
|
variable (named ``Z_safe``.) Equivalent to:
|
||||||
@ -206,7 +206,7 @@ The following iteration macros work across all data structures:
|
|||||||
tables is resized while iterating. This will cause items to be
|
tables is resized while iterating. This will cause items to be
|
||||||
skipped or iterated over twice.
|
skipped or iterated over twice.
|
||||||
|
|
||||||
.. c:function:: for_each_from(Z, &head, item, from)
|
.. c:function:: frr_each_from(Z, &head, item, from)
|
||||||
|
|
||||||
Iterates over the list, starting at item ``from``. This variant is "safe"
|
Iterates over the list, starting at item ``from``. This variant is "safe"
|
||||||
as in the previous macro. Equivalent to:
|
as in the previous macro. Equivalent to:
|
||||||
@ -363,7 +363,7 @@ are several functions exposed to insert data:
|
|||||||
|
|
||||||
itemtype *prev = NULL, *item;
|
itemtype *prev = NULL, *item;
|
||||||
|
|
||||||
for_each_safe(Z, head, item) {
|
frr_each_safe(Z, head, item) {
|
||||||
if (something) {
|
if (something) {
|
||||||
Z_add_after(head, prev, item);
|
Z_add_after(head, prev, item);
|
||||||
break;
|
break;
|
||||||
@ -585,7 +585,7 @@ Iteration:
|
|||||||
struct item *i;
|
struct item *i;
|
||||||
|
|
||||||
pthread_rwlock_rdlock(&itemhead_rwlock);
|
pthread_rwlock_rdlock(&itemhead_rwlock);
|
||||||
for_each(itemlist, &itemhead, i) {
|
frr_each(itemlist, &itemhead, i) {
|
||||||
/* lock must remain held while iterating */
|
/* lock must remain held while iterating */
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
@ -602,7 +602,7 @@ Head removal (pop) and deallocation:
|
|||||||
pthread_rwlock_unlock(&itemhead_rwlock);
|
pthread_rwlock_unlock(&itemhead_rwlock);
|
||||||
|
|
||||||
/* i might still be visible for another thread doing an
|
/* i might still be visible for another thread doing an
|
||||||
* for_each() (but won't be returned by another pop()) */
|
* frr_each() (but won't be returned by another pop()) */
|
||||||
...
|
...
|
||||||
|
|
||||||
pthread_rwlock_wrlock(&itemhead_rwlock);
|
pthread_rwlock_wrlock(&itemhead_rwlock);
|
||||||
|
Loading…
Reference in New Issue
Block a user