From 2de2cb74c82cde76a6b75ade8cf7e539052c7e2b Mon Sep 17 00:00:00 2001 From: TheDoctor314 Date: Thu, 4 Mar 2021 19:56:43 +0530 Subject: [PATCH 1/2] Add gettid() for Linux and Android Fixes #2076 --- src/unix/linux_like/android/mod.rs | 2 ++ src/unix/linux_like/linux/mod.rs | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index a005ee632f61a..f1d6ef4b2baf2 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -2809,6 +2809,8 @@ extern "C" { pub fn regfree(preg: *mut ::regex_t); pub fn android_set_abort_message(msg: *const ::c_char); + + pub fn gettid() -> ::pid_t; } cfg_if! { diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index efd7a8ed8df15..ce71f1c7ef8ab 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -3594,6 +3594,8 @@ extern "C" { outbytesleft: *mut ::size_t, ) -> ::size_t; pub fn iconv_close(cd: iconv_t) -> ::c_int; + + pub fn gettid() -> ::pid_t; } cfg_if! { From b719be41508f18b7abd7b521b7f555773c02d1fe Mon Sep 17 00:00:00 2001 From: Yuki Okushi Date: Fri, 5 Mar 2021 01:11:36 +0900 Subject: [PATCH 2/2] Skip tests for `gettid` on musl It requires musl 1.2.2 or later. --- libc-test/build.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libc-test/build.rs b/libc-test/build.rs index 71b70632829e6..99763e29aa824 100755 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -2737,6 +2737,9 @@ fn test_linux(target: &str) { // assume it's a int instead. "getnameinfo" if uclibc => true, + // FIXME: This needs musl 1.2.2 or later. + "gettid" if musl => true, + _ => false, } });