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.
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 {