about summary refs log tree commit diff
path: root/src/libstd/thread
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2018-08-06 14:39:55 +0200
committerRalf Jung <post@ralfj.de>2018-08-06 14:39:55 +0200
commit645388583ca47357a6a2e5878a9cde84e2e579d3 (patch)
treeb540ad370e3d571608473073de8de219bda2aff9 /src/libstd/thread
parentab3e4a27894295ec0fca28b492450f2b22fbad4e (diff)
downloadrust-645388583ca47357a6a2e5878a9cde84e2e579d3.tar.gz
rust-645388583ca47357a6a2e5878a9cde84e2e579d3.zip
actually, reentrant uninitialized mutex acquisition is outright UB
Diffstat (limited to 'src/libstd/thread')
-rw-r--r--src/libstd/thread/mod.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/libstd/thread/mod.rs b/src/libstd/thread/mod.rs
index 98b4ca36c26..0078a05e597 100644
--- a/src/libstd/thread/mod.rs
+++ b/src/libstd/thread/mod.rs
@@ -940,9 +940,8 @@ pub struct ThreadId(u64);
 impl ThreadId {
     // Generate a new unique thread ID.
     fn new() -> ThreadId {
-        // `GUARD` is never initialized fully, so this mutex is reentrant!
-        // Do not use it in a way that might be reentrant, that could lead to
-        // aliasing `&mut`.
+        // `GUARD` is never initialized fully, so it is UB to attempt to
+        // acquire this mutex reentrantly!
         static GUARD: mutex::Mutex = mutex::Mutex::new();
         static mut COUNTER: u64 = 0;