about summary refs log tree commit diff
path: root/library/std/src
diff options
context:
space:
mode:
authorVas <vasilii.novikov@fortanix.com>2023-06-15 09:44:39 +0200
committerVas <vasilii.novikov@fortanix.com>2023-06-19 10:25:25 +0200
commit748e2c6df983d4e0eb1abbc4ae28f75433709c19 (patch)
tree6bd6b0b87d1bd33516749fe62da3c22784d5d874 /library/std/src
parent9c843d9fa322596c7d525c78fa89731ecf7afbfe (diff)
downloadrust-748e2c6df983d4e0eb1abbc4ae28f75433709c19.tar.gz
rust-748e2c6df983d4e0eb1abbc4ae28f75433709c19.zip
Document thread names for SGX compilation target
Diffstat (limited to 'library/std/src')
-rw-r--r--library/std/src/sys/sgx/thread.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/library/std/src/sys/sgx/thread.rs b/library/std/src/sys/sgx/thread.rs
index 1608b8cb642..7ac9d1d64b4 100644
--- a/library/std/src/sys/sgx/thread.rs
+++ b/library/std/src/sys/sgx/thread.rs
@@ -121,8 +121,16 @@ impl Thread {
         rtassert!(wait_error.kind() == io::ErrorKind::WouldBlock);
     }
 
+    /// SGX should protect in-enclave data from the outside (attacker),
+    /// so there should be no data leakage to the OS,
+    /// and therefore also no 1-1 mapping between SGX thread names and OS thread names.
+    ///
+    /// This is why the method is intentionally No-Op.
     pub fn set_name(_name: &CStr) {
-        // FIXME: could store this pointer in TLS somewhere
+        // Note that the internally visible SGX thread name is already provided
+        // by the platform-agnostic (target-agnostic) Rust thread code.
+        // This can be observed in the [`std::thread::tests::test_named_thread`] test,
+        // which succeeds as-is with the SGX target.
     }
 
     pub fn sleep(dur: Duration) {