/* Threads compatibility routines for libgcc2 and libobjc. */
/* Compile this one with gcc. */
-/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003
+/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of GCC.
#pragma weak pthread_getspecific
#pragma weak pthread_setspecific
#pragma weak pthread_create
+#pragma weak pthread_cancel
#pragma weak pthread_mutex_lock
#pragma weak pthread_mutex_trylock
static inline int
__gthread_active_p (void)
{
- static void *const __gthread_active_ptr = (void *) &pthread_create;
+ static void *const __gthread_active_ptr
+ = __extension__ (void *) &pthread_cancel;
return __gthread_active_ptr != 0;
}
{
if (__gthread_active_p ())
{
- /* Initialize the thread storage key */
+ /* Initialize the thread storage key. */
if (pthread_key_create (&_objc_thread_storage, NULL) == 0)
{
/* The normal default detach state for threads is