diff options
author | Florian Weimer <fweimer@redhat.com> | 2019-02-02 15:17:02 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2019-02-08 11:27:55 +0100 |
commit | 1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92 (patch) | |
tree | a1979a3d4ef860e9f4565aab20cb2549b0a3303e /posix | |
parent | f289e656ec8221756519a601042bc9fbe1b310fb (diff) | |
download | glibc-1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92.tar.gz glibc-1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92.tar.xz glibc-1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92.zip |
Linux: Add gettid system call wrapper [BZ #6399]
This commit adds gettid to <unistd.h> on Linux, and not to the kernel-independent GNU API. gettid is now supportable on Linux because too many things assume a 1:1 mapping between libpthread threads and kernel threads. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'posix')
-rw-r--r-- | posix/Makefile | 3 | ||||
-rw-r--r-- | posix/bits/unistd_ext.h | 21 | ||||
-rw-r--r-- | posix/unistd.h | 3 |
3 files changed, 26 insertions, 1 deletions
diff --git a/posix/Makefile b/posix/Makefile index 873947f72e..93c3a290d7 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -31,7 +31,8 @@ headers := sys/utsname.h sys/times.h sys/wait.h sys/types.h unistd.h \ bits/local_lim.h tar.h bits/utsname.h bits/confname.h \ bits/waitflags.h bits/waitstatus.h sys/unistd.h sched.h \ bits/sched.h bits/cpu-set.h re_comp.h wait.h bits/environments.h \ - cpio.h spawn.h bits/unistd.h bits/types/struct_sched_param.h + cpio.h spawn.h bits/unistd.h bits/types/struct_sched_param.h \ + bits/unistd_ext.h routines := \ uname \ diff --git a/posix/bits/unistd_ext.h b/posix/bits/unistd_ext.h new file mode 100644 index 0000000000..d6e88f3bd4 --- /dev/null +++ b/posix/bits/unistd_ext.h @@ -0,0 +1,21 @@ +/* System-specific extensions of <unistd.h>, generic version. + Copyright (C) 2019 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _UNISTD_H +# error "Never include <bits/unistd_ext.h> directly; use <unistd.h> instead." +#endif diff --git a/posix/unistd.h b/posix/unistd.h index f67452122b..55a989f7bb 100644 --- a/posix/unistd.h +++ b/posix/unistd.h @@ -1166,6 +1166,9 @@ int getentropy (void *__buffer, size_t __length) __wur; # include <bits/unistd.h> #endif +/* System-specific extensions. */ +#include <bits/unistd_ext.h> + __END_DECLS #endif /* unistd.h */ |