From 9f70985569888d68612012fcb538c47c154c1e8b Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Wed, 20 Jan 2021 14:06:56 -0300 Subject: Consolidate pthread_atfork The pthread_atfork is similar between Linux and Hurd, only the compat version bits differs. The generic version is place at sysdeps/pthread with a common name. It also fixes an issue with Hurd license, where the static-only object did not use LGPL + exception. Checked on x86_64-linux-gnu, i686-linux-gnu, and with a build for i686-gnu. --- sysdeps/pthread/pthread_atfork_compat.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 sysdeps/pthread/pthread_atfork_compat.c (limited to 'sysdeps/pthread/pthread_atfork_compat.c') diff --git a/sysdeps/pthread/pthread_atfork_compat.c b/sysdeps/pthread/pthread_atfork_compat.c new file mode 100644 index 0000000000..4533f765d1 --- /dev/null +++ b/sysdeps/pthread/pthread_atfork_compat.c @@ -0,0 +1,28 @@ +/* Compat pthread_atfork implementation. + Copyright (C) 2002-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 + . */ + +#include +#include + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3) +# define __pthread_atfork __dyn_pthread_atfork +# include "pthread_atfork.c" +# undef __pthread_atfork +compat_symbol (libpthread, __dyn_pthread_atfork, pthread_atfork, + PTHREAD_ATFORK_COMPAT_INTRODUCED); +#endif -- cgit 1.4.1