(root)/
glibc-2.38/
sysdeps/
htl/
futex-internal.h
       1  /* futex operations for glibc-internal use.  Stub version; do not include
       2     this file directly.
       3     Copyright (C) 2014-2023 Free Software Foundation, Inc.
       4     This file is part of the GNU C Library.
       5  
       6     The GNU C Library is free software; you can redistribute it and/or
       7     modify it under the terms of the GNU Lesser General Public
       8     License as published by the Free Software Foundation; either
       9     version 2.1 of the License, or (at your option) any later version.
      10  
      11     The GNU C Library is distributed in the hope that it will be useful,
      12     but WITHOUT ANY WARRANTY; without even the implied warranty of
      13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
      14     Lesser General Public License for more details.
      15  
      16     You should have received a copy of the GNU Lesser General Public
      17     License along with the GNU C Library; if not, see
      18     <https://www.gnu.org/licenses/>.  */
      19  
      20  #ifndef STUB_FUTEX_INTERNAL_H
      21  #define STUB_FUTEX_INTERNAL_H
      22  
      23  #include <pthread.h>
      24  
      25  /* Returns EINVAL if PSHARED is neither PTHREAD_PROCESS_PRIVATE nor
      26     PTHREAD_PROCESS_SHARED; otherwise, returns 0 if PSHARED is supported, and
      27     ENOTSUP if not.  */
      28  static __always_inline int
      29  futex_supports_pshared (int pshared)
      30  {
      31    if (__glibc_likely (pshared == PTHREAD_PROCESS_PRIVATE))
      32      return 0;
      33    else if (pshared == PTHREAD_PROCESS_SHARED)
      34      return 0;
      35    else
      36      return EINVAL;
      37  }
      38  
      39  #endif  /* futex-internal.h */