From f4c4021bc0fc5c3aaff8418ecfe0c1c8bbb49859 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 7 Jul 2014 09:29:34 -0700 Subject: [PATCH] Remove old stub lowlevellock.h file. It is not even useful as documentation. --- ChangeLog | 2 + sysdeps/nptl/lowlevellock.h | 83 ------------------------------------- 2 files changed, 2 insertions(+), 83 deletions(-) delete mode 100644 sysdeps/nptl/lowlevellock.h diff --git a/ChangeLog b/ChangeLog index ac35437275..5b31532e4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2014-07-07 Roland McGrath + * sysdeps/nptl/lowlevellock.h: File removed. + * NEWS: NPTL is no longer an add-on! * nptl/internaltypes.h: Moved ... * sysdeps/nptl/internaltypes.h: ... here. diff --git a/sysdeps/nptl/lowlevellock.h b/sysdeps/nptl/lowlevellock.h deleted file mode 100644 index 7d1913a58d..0000000000 --- a/sysdeps/nptl/lowlevellock.h +++ /dev/null @@ -1,83 +0,0 @@ -/* Low level locking macros used in NPTL implementation. Stub version. - Copyright (C) 2002-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - - 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 - - -/* Mutex lock counter: - bit 31 clear means unlocked; - bit 31 set means locked. - - All code that looks at bit 31 first increases the 'number of - interested threads' usage counter, which is in bits 0-30. - - All negative mutex values indicate that the mutex is still locked. */ - - -static inline void -__generic_mutex_lock (int *mutex) -{ - unsigned int v; - - /* Bit 31 was clear, we got the mutex. (this is the fastpath). */ - if (atomic_bit_test_set (mutex, 31) == 0) - return; - - atomic_increment (mutex); - - while (1) - { - if (atomic_bit_test_set (mutex, 31) == 0) - { - atomic_decrement (mutex); - return; - } - - /* We have to wait now. First make sure the futex value we are - monitoring is truly negative (i.e. locked). */ - v = *mutex; - if (v >= 0) - continue; - - lll_futex_wait (mutex, v, - // XYZ check mutex flag - LLL_SHARED); - } -} - - -static inline void -__generic_mutex_unlock (int *mutex) -{ - /* Adding 0x80000000 to the counter results in 0 if and only if - there are not other interested threads - we can return (this is - the fastpath). */ - if (atomic_add_zero (mutex, 0x80000000)) - return; - - /* There are other threads waiting for this mutex, wake one of them - up. */ - lll_futex_wake (mutex, 1, - // XYZ check mutex flag - LLL_SHARED); -} - - -#define lll_mutex_lock(futex) __generic_mutex_lock (&(futex)) -#define lll_mutex_unlock(futex) __generic_mutex_unlock (&(futex))