Docs: clarify grace period polling API
[userspace-rcu.git] / doc / rcu-api.md
index e8ec0228731361b17d558f1236c6e61dea63ad05..804b212d98bebb76a5c73c4d5af379e9f21e1c55 100644 (file)
@@ -60,6 +60,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.023947 seconds and 4 git commands to generate.