diff options
author | kan <kan@FreeBSD.org> | 2007-05-19 01:19:51 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2007-05-19 01:19:51 +0000 |
commit | 1f9ea4d0a40cca64d60cf4dab152349da7b9dddf (patch) | |
tree | 0cb530c9c38af219e6dda2994c078b6b2b9ad853 /contrib/gcc/gthr.h | |
parent | 4895159b2b4f648051c1f139faa7b6dc50c2bfcb (diff) | |
download | FreeBSD-src-1f9ea4d0a40cca64d60cf4dab152349da7b9dddf.zip FreeBSD-src-1f9ea4d0a40cca64d60cf4dab152349da7b9dddf.tar.gz |
GCC 4.2.0 release.
Diffstat (limited to 'contrib/gcc/gthr.h')
-rw-r--r-- | contrib/gcc/gthr.h | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/contrib/gcc/gthr.h b/contrib/gcc/gthr.h index b051154..b9d1641 100644 --- a/contrib/gcc/gthr.h +++ b/contrib/gcc/gthr.h @@ -1,6 +1,6 @@ /* Threads compatibility routines for libgcc2. */ /* Compile this one with gcc. */ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of GCC. @@ -16,8 +16,8 @@ for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ +Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. */ /* As a special exception, if you link this library with other files, some of which are compiled with GCC, to produce an executable, @@ -29,6 +29,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef GCC_GTHR_H #define GCC_GTHR_H +#ifndef HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + /* If this file is compiled with threads support, it must #define __GTHREADS 1 to indicate that threads support is present. Also it has define @@ -40,6 +44,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA __gthread_key_t __gthread_once_t __gthread_mutex_t + __gthread_recursive_mutex_t The threads interface must define the following macros: @@ -54,6 +59,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA function which looks like this: void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. The threads interface must define the following static functions: @@ -69,18 +77,28 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA int __gthread_mutex_trylock (__gthread_mutex_t *mutex); int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + All functions returning int should return zero on success or the error number. If the operation is not supported, -1 is returned. Currently supported threads packages are - POSIX threads with -D_PTHREADS + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 DCE threads with -D_DCE_THREADS Solaris/UI threads with -D_SOLARIS_THREADS */ /* Check first for thread specific defines. */ -#if _PTHREADS +#if defined (__tpf__) +#include "gthr-tpf.h" +#elif _PTHREADS #include "gthr-posix.h" +#elif _PTHREADS95 +#include "gthr-posix95.h" #elif _DCE_THREADS #include "gthr-dce.h" #elif _SOLARIS_THREADS @@ -100,4 +118,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "gthr-single.h" #endif +#ifndef HIDE_EXPORTS +#pragma GCC visibility pop +#endif + #endif /* ! GCC_GTHR_H */ |