From Jason Turner

[saferecl.rcu.domain.members]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpzmnkm9gm/{from.md → to.md} +38 -0
tmp/tmpzmnkm9gm/{from.md → to.md} RENAMED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ##### Member functions <a id="saferecl.rcu.domain.members">[[saferecl.rcu.domain.members]]</a>
2
+
3
+ ``` cpp
4
+ void lock() noexcept;
5
+ ```
6
+
7
+ *Effects:* Opens a region of RCU protection.
8
+
9
+ *Remarks:* Calls to `lock` do not introduce a data race [[intro.races]]
10
+ involving `*this`.
11
+
12
+ ``` cpp
13
+ bool try_lock() noexcept;
14
+ ```
15
+
16
+ *Effects:* Equivalent to `lock()`.
17
+
18
+ *Returns:* `true`.
19
+
20
+ ``` cpp
21
+ void unlock() noexcept;
22
+ ```
23
+
24
+ *Preconditions:* A call to `lock` that opened an unclosed region of RCU
25
+ protection is sequenced before the call to `unlock`.
26
+
27
+ *Effects:* Closes the unclosed region of RCU protection that was most
28
+ recently opened. May invoke scheduled evaluations in `*this`.
29
+
30
+ [*Note 1*: If such evaluations acquire resources held across any
31
+ invocation of `unlock` on `*this`, deadlock can occur. — *end note*]
32
+
33
+ *Remarks:* Calls to `unlock` do not introduce a data race involving
34
+ `*this`.
35
+
36
+ [*Note 2*: Evaluation of scheduled evaluations can still cause a data
37
+ race. — *end note*]
38
+