mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
pthread: Introduce __pthread_early_init
This function is called from __libc_early_init to initialize the pthread subsystem. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
@ -21,6 +21,7 @@
|
|||||||
#include <libc-early-init.h>
|
#include <libc-early-init.h>
|
||||||
#include <libc-internal.h>
|
#include <libc-internal.h>
|
||||||
#include <lowlevellock.h>
|
#include <lowlevellock.h>
|
||||||
|
#include <pthread_early_init.h>
|
||||||
#include <sys/single_threaded.h>
|
#include <sys/single_threaded.h>
|
||||||
|
|
||||||
#ifdef SHARED
|
#ifdef SHARED
|
||||||
@ -40,6 +41,8 @@ __libc_early_init (_Bool initial)
|
|||||||
__libc_initial = initial;
|
__libc_initial = initial;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
__pthread_early_init ();
|
||||||
|
|
||||||
#if ENABLE_ELISION_SUPPORT
|
#if ENABLE_ELISION_SUPPORT
|
||||||
__lll_elision_init ();
|
__lll_elision_init ();
|
||||||
#endif
|
#endif
|
||||||
|
29
sysdeps/pthread/pthread_early_init.h
Normal file
29
sysdeps/pthread/pthread_early_init.h
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/* pthread initialization called from __libc_early_init. Generic version.
|
||||||
|
Copyright (C) 2021 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
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _PTHREAD_EARLY_INIT_H
|
||||||
|
#define _PTHREAD_EARLY_INIT_H 1
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
__pthread_early_init (void)
|
||||||
|
{
|
||||||
|
/* The generic version does not require any additional
|
||||||
|
initialization. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _PTHREAD_EARLY_INIT_H */
|
Reference in New Issue
Block a user