about summary refs log tree commit diff
path: root/src/libstd/rt
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstd/rt')
-rw-r--r--src/libstd/rt/local_ptr.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/libstd/rt/local_ptr.rs b/src/libstd/rt/local_ptr.rs
index 3f9b7fc83df..33384594c57 100644
--- a/src/libstd/rt/local_ptr.rs
+++ b/src/libstd/rt/local_ptr.rs
@@ -129,12 +129,16 @@ pub unsafe fn unsafe_borrow<T>() -> *mut T {
 }
 
 pub unsafe fn try_unsafe_borrow<T>() -> Option<*mut T> {
-    let key = tls_key();
-    let void_ptr = tls::get(key);
-    if void_ptr.is_null() {
-        None
-    } else {
-        Some(void_ptr as *mut T)
+    match maybe_tls_key() {
+        Some(key) => {
+            let void_ptr = tls::get(key);
+            if void_ptr.is_null() {
+                None
+            } else {
+                Some(void_ptr as *mut T)
+            }
+        }
+        None => None
     }
 }