diff --git a/include/bits/errno.h b/include/bits/errno.h index d59af2876a..c4f10c1d1f 100644 --- a/include/bits/errno.h +++ b/include/bits/errno.h @@ -7,8 +7,7 @@ extern "C" { #define ENOTSUP EOPNOTSUPP -//TODO extern __thread int errno; -extern int errno; +extern __thread int errno; #ifdef __cplusplus } // extern "C" diff --git a/src/c/dlmalloc.c b/src/c/dlmalloc.c index 5343ad8c22..13db700317 100644 --- a/src/c/dlmalloc.c +++ b/src/c/dlmalloc.c @@ -544,7 +544,7 @@ MAX_RELEASE_CHECK_RATE default: 4095 unless not HAVE_MMAP #define ENOMEM 12 #define EINVAL 22 -extern int errno; +extern __thread int errno; void abort(void); void *memcpy(void *dest, const void *src, size_t n); diff --git a/src/platform/mod.rs b/src/platform/mod.rs index 8dfaa1f897..047aee80db 100644 --- a/src/platform/mod.rs +++ b/src/platform/mod.rs @@ -34,7 +34,7 @@ pub mod rlb; use self::types::*; pub mod types; -//TODO #[thread_local] +#[thread_local] #[allow(non_upper_case_globals)] #[no_mangle] pub static mut errno: c_int = 0;