diff options
| author | Michael Neumann <mneumann@ntecs.de> | 2015-01-06 10:53:32 +0100 |
|---|---|---|
| committer | Valerii Hiora <valerii.hiora@gmail.com> | 2015-01-06 20:12:19 +0200 |
| commit | 134eb0e26f6c2d89b852995295d364614d6b7299 (patch) | |
| tree | 05fd42e0c49953d12174df9c22db790c04266dc1 /src/libstd | |
| parent | 8efd9901b628d687d11a4d0ccc153553b38ada49 (diff) | |
| download | rust-134eb0e26f6c2d89b852995295d364614d6b7299.tar.gz rust-134eb0e26f6c2d89b852995295d364614d6b7299.zip | |
Tuning pthread_key_t type
Both FreeBSD and DragonFly define pthread_key_t as int, while Linux defines it as uint. As pthread_key_t is used as an opaque type and storage size of both int and uint are the same, this is rather a cosmetic change. iOS uses ulong (as OS X) so difference is critical on 64bit platforms.
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/sys/unix/thread_local.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libstd/sys/unix/thread_local.rs b/src/libstd/sys/unix/thread_local.rs index e507377a8fc..ea1e9c261fe 100644 --- a/src/libstd/sys/unix/thread_local.rs +++ b/src/libstd/sys/unix/thread_local.rs @@ -37,10 +37,18 @@ pub unsafe fn destroy(key: Key) { debug_assert_eq!(r, 0); } -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", + target_os = "ios"))] type pthread_key_t = ::libc::c_ulong; -#[cfg(not(target_os = "macos"))] +#[cfg(any(target_os = "freebsd", + target_os = "dragonfly"))] +type pthread_key_t = ::libc::c_int; + +#[cfg(not(any(target_os = "macos", + target_os = "ios", + target_os = "freebsd", + target_os = "dragonfly")))] type pthread_key_t = ::libc::c_uint; extern { |
