ES.dcl: Fix typo
ES.25: Use the singular form for the title, to correct it and to match it with the entry in the ToC
ES.30: Fix several typos
ES.40: Fix typo in code comments
ES.61: Capitalize first word of title
ES.63: Fix typo
ES.70: Fix typo and capitalization
ES.74: Fix typo in title
ES.102: Fix typo and add missing comma
CP.8: Add missing colon to title
CP.30: In title, close inline code block with backtick
CP.101: Correct saying, Icarus flew to close to the sun, not the wind
Atomic variables are safe with the sequentially consistent memory model (memory_order_seq_cst) only. Weakly ordered atomics cannot be considered safe for mainstream use. The exception clause of CP.100 refined to include the "sequentially consistent memory model" only.
cst added to dictionary
For std::memory_order_seq_cst, which is defined in <atomic>.
Extra blank lines removed
strcpy replaced with strcpy_s to get rid of Travis CI warnings
Note: strcpy_s is defined in the Annex K of the C++11 standard.
Gabriel's comments incorporated
- No need for braces for a single statement.
- Comment to explain why buffer_size is 16.
Bracing style made consistent with the rest of the examples
Bracing style made consistent with the rest of the examples
braces made consistent with the rest of the examples
CP.110 renamed as "Do not write your own double-checked locking".
Explanation and two examples added.
Added exception
Double-checked locking may be legitimately used in lock-free programming. However, see the rule [CP.100: Don't use lock-free programming unless you absolutely have to](#Rconc-lockfree).
Title made clearer and a conventional pattern has been added
* Title made clearer
* A correct example of double-checked locking has been added
Casing fixed
Casing fixed
Extra whitespace deleted
CP.110 and CP.111 separated
- CP.110: Do not write your own double-checked locking for initialization
- CP.111: Use a conventional pattern if you really need double-checked locking
Whitespace removed
Example simplified
Whitespace issue fixed.
punctuation fixed.