fix: handle EINTR correctly in get_cpu_mask_from_sysfs
[urcu.git] / doc / rcu-api.md
index e8ec0228731361b17d558f1236c6e61dea63ad05..b305fcfa5bf4cf176a2e1cde1a55b5d75b7b941b 100644 (file)
@@ -1,3 +1,9 @@
+<!--
+SPDX-FileCopyrightText: 2023 EfficiOS Inc.
+
+SPDX-License-Identifier: CC-BY-4.0
+-->
+
 Userspace RCU API
 =================
 
@@ -60,6 +66,31 @@ started: this is not a reader-writer lock. The duration
 actually waited is called an RCU grace period.
 
 
+```c
+struct urcu_gp_poll_state start_poll_synchronize_rcu(void);
+```
+
+Provides a handle for checking if a new grace period has started
+and completed since the handle was obtained. It returns a
+`struct urcu_gp_poll_state` handle that can be used with
+`poll_state_synchronize_rcu` to check, by polling, if the
+associated grace period has completed.
+
+`start_poll_synchronize_rcu` must only be called from
+registered RCU read-side threads. For the QSBR flavor, the
+caller must be online.
+
+
+```c
+bool poll_state_synchronize_rcu(struct urcu_gp_poll_state state);
+```
+
+Checks if the grace period associated with the
+`struct urcu_gp_poll_state` handle has completed. If the grace
+period has completed, the function returns true. Otherwise,
+it returns false.
+
+
 ```c
 void call_rcu(struct rcu_head *head,
               void (*func)(struct rcu_head *head));
This page took 0.023282 seconds and 4 git commands to generate.