Update.
2003-12-20 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/Makefile (CFLAGS-getpid.c): Define. * sysdeps/unix/sysv/linux/getpid.c: New file.
This commit is contained in:
parent
4efdd8d355
commit
bbe35eb571
@ -1310,7 +1310,7 @@ of this helper program; chances are you did not intend to run this program.\n\
|
||||
an old kernel that can't perform TLS_INIT_TP, even if no TLS is ever
|
||||
used. Trying to do it lazily is too hairy to try when there could be
|
||||
multiple threads (from a non-TLS-using libpthread). */
|
||||
if (GL(dl_tls_max_dtv_idx) > 0 || !TLS_INIT_TP_EXPENSIVE)
|
||||
if (!TLS_INIT_TP_EXPENSIVE || GL(dl_tls_max_dtv_idx) > 0)
|
||||
{
|
||||
struct link_map *l;
|
||||
size_t nelem;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2003-12-20 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/Makefile (CFLAGS-getpid.c): Define.
|
||||
* sysdeps/unix/sysv/linux/getpid.c: New file.
|
||||
|
||||
2003-12-19 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* eintr.c (setup_eintr): Add new parameter. Pass to thread function.
|
||||
|
@ -29,4 +29,5 @@ endif
|
||||
|
||||
ifeq ($(subdir),posix)
|
||||
CFLAGS-fork.c = -D_IO_MTSAFE_IO
|
||||
CFLAGS-getpid.c = -fomit-frame-pointer
|
||||
endif
|
||||
|
44
nptl/sysdeps/unix/sysv/linux/getpid.c
Normal file
44
nptl/sysdeps/unix/sysv/linux/getpid.c
Normal file
@ -0,0 +1,44 @@
|
||||
/* Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
|
||||
|
||||
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, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
#include <unistd.h>
|
||||
#include <tls.h>
|
||||
#include <sysdep.h>
|
||||
|
||||
|
||||
pid_t
|
||||
__getpid (void)
|
||||
{
|
||||
pid_t result;
|
||||
#ifndef NOT_IN_libc
|
||||
result = THREAD_GETMEM (THREAD_SELF, pid);
|
||||
if (__builtin_expect (result == 0, 0))
|
||||
#endif
|
||||
{
|
||||
INTERNAL_SYSCALL_DECL (err);
|
||||
result = INTERNAL_SYSCALL (getpid, err, 0);
|
||||
#ifndef NOT_IN_libc
|
||||
THREAD_SETMEM (THREAD_SELF, pid, result);
|
||||
#endif
|
||||
}
|
||||
return result;
|
||||
}
|
||||
libc_hidden_def (__getpid)
|
||||
weak_alias (__getpid, getpid)
|
||||
libc_hidden_def (getpid)
|
Loading…
Reference in New Issue
Block a user