projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: changelog: v0.13.0 was released in 2021
[urcu.git]
/
doc
/
examples
/
wfstack
/
cds_wfs_pop_all_blocking.c
diff --git
a/doc/examples/wfstack/cds_wfs_pop_all_blocking.c
b/doc/examples/wfstack/cds_wfs_pop_all_blocking.c
index 52bf0c08106c7861989e2de92ef8c52ccc12c33e..794ced154008064c7eeb4285ff09225a16afcc06 100644
(file)
--- a/
doc/examples/wfstack/cds_wfs_pop_all_blocking.c
+++ b/
doc/examples/wfstack/cds_wfs_pop_all_blocking.c
@@
-27,13
+27,13
@@
struct mynode {
struct cds_wfs_node node; /* Chaining in stack */
};
struct cds_wfs_node node; /* Chaining in stack */
};
-int main(
int argc, char **argv
)
+int main(
void
)
{
int values[] = { -5, 42, 36, 24, };
struct cds_wfs_stack mystack; /* Stack */
unsigned int i;
int ret = 0;
{
int values[] = { -5, 42, 36, 24, };
struct cds_wfs_stack mystack; /* Stack */
unsigned int i;
int ret = 0;
- struct cds_wfs_node *snode;
+ struct cds_wfs_node *snode
, *sn
;
struct cds_wfs_head *shead;
cds_wfs_init(&mystack);
struct cds_wfs_head *shead;
cds_wfs_init(&mystack);
@@
-63,15
+63,18
@@
int main(int argc, char **argv)
/*
* Show the stack content, iterate in reverse order of push,
/*
* Show the stack content, iterate in reverse order of push,
- * from newest to oldest.
+ * from newest to oldest. Use cds_wfs_for_each_blocking_safe()
+ * so we can free the nodes as we iterate.
*/
printf("mystack content:");
*/
printf("mystack content:");
- cds_wfs_for_each_blocking
(shead, snode
) {
+ cds_wfs_for_each_blocking
_safe(shead, snode, sn
) {
struct mynode *node =
caa_container_of(snode, struct mynode, node);
printf(" %d", node->value);
struct mynode *node =
caa_container_of(snode, struct mynode, node);
printf(" %d", node->value);
+ free(node);
}
printf("\n");
end:
}
printf("\n");
end:
+ cds_wfs_destroy(&mystack);
return ret;
}
return ret;
}
This page took
0.024988 seconds
and
4
git commands to generate.