Merge branch 'tituswinters-thread-tooling'

This commit is contained in:
Andrew Pardoe 2017-02-06 11:51:39 -08:00
commit b7a3c641c6
2 changed files with 22 additions and 18 deletions

View File

@ -11697,16 +11697,16 @@ this can be a security risk.
##### Enforcement
Some is possible, do at least something.
There are commercial and open-source tools that try to address this problem, but static tools often have many false positives and run-time tools often have a significant cost.
We hope for better tools.
When possible, rely on tooling enforcement, but be aware that any tooling
solution has costs and blind spots. Defense in depth (multiple tools, multiple
approaches) is particularly valuable here.
Help the tools:
There are other ways you can mitigate the chance of data races:
* less global data
* fewer `static` variables
* more use of stack memory (and don't pass pointers around too much)
* more immutable data (literals, `constexpr`, and `const`)
* Avoid global data
* Avoid `static` variables
* More use of value types on the stack (and don't pass pointers around too much)
* More use of immutable data (literals, `constexpr`, and `const`)
### <a name="Rconc-data"></a>CP.3: Minimize explicit sharing of writable data

View File

@ -1,7 +1,9 @@
'
0xFF0000
0b0101'0101
10x
'14
20x
2D
2K
2ndEdition
@ -69,6 +71,7 @@ CComPtr
cerr
chrono
cin
Clang's
class'
clib
Cline99
@ -492,6 +495,7 @@ toolchains
TotallyOrdered
TP
tradeoff
TSAN
TSs
tt
typeid