26 #ifndef _GLIBCXX_GCC_GTHR_SINGLE_H
27 #define _GLIBCXX_GCC_GTHR_SINGLE_H
31 typedef int __gthread_key_t;
32 typedef int __gthread_once_t;
33 typedef int __gthread_mutex_t;
34 typedef int __gthread_recursive_mutex_t;
36 #define __GTHREAD_ONCE_INIT 0
37 #define __GTHREAD_MUTEX_INIT 0
38 #define __GTHREAD_MUTEX_INIT_FUNCTION(mx) do {} while (0)
39 #define __GTHREAD_RECURSIVE_MUTEX_INIT 0
41 #ifdef __has_attribute
42 # if __has_attribute(__always_inline__)
43 # define __GTHREAD_ALWAYS_INLINE __attribute__((__always_inline__))
46 #ifndef __GTHREAD_ALWAYS_INLINE
47 # define __GTHREAD_ALWAYS_INLINE
51 # define __GTHREAD_INLINE inline __GTHREAD_ALWAYS_INLINE
53 # define __GTHREAD_INLINE static inline
56 #define _GLIBCXX_UNUSED __attribute__((__unused__))
61 static void *thread_local_storage = NULL;
67 __gthread_objc_init_thread_system (
void)
75 __gthread_objc_close_thread_system (
void)
84 static inline objc_thread_t
85 __gthread_objc_thread_detach (
void (* func)(
void *),
void *
arg _GLIBCXX_UNUSED)
93 __gthread_objc_thread_set_priority (
int priority _GLIBCXX_UNUSED)
101 __gthread_objc_thread_get_priority (
void)
103 return OBJC_THREAD_INTERACTIVE_PRIORITY;
108 __gthread_objc_thread_yield (
void)
115 __gthread_objc_thread_exit (
void)
124 static inline objc_thread_t
125 __gthread_objc_thread_id (
void)
128 return (objc_thread_t) 1;
133 __gthread_objc_thread_set_data (
void *value)
135 thread_local_storage = value;
141 __gthread_objc_thread_get_data (
void)
143 return thread_local_storage;
150 __gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED)
157 __gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED)
164 __gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED)
172 __gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED)
180 __gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED)
189 __gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED)
196 __gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED)
203 __gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED,
204 objc_mutex_t mutex _GLIBCXX_UNUSED)
211 __gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED)
218 __gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED)
226 __gthread_active_p (
void)
232 __gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED,
void (*__func) (
void) _GLIBCXX_UNUSED)
237 __GTHREAD_INLINE
int _GLIBCXX_UNUSED
238 __gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED,
void (*__func) (
void *) _GLIBCXX_UNUSED)
243 __GTHREAD_INLINE
int _GLIBCXX_UNUSED
244 __gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED)
249 __GTHREAD_INLINE
void *
250 __gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED)
256 __gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED,
const void *__v _GLIBCXX_UNUSED)
262 __gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
268 __gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
274 __gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
280 __gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
286 __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
288 return __gthread_mutex_lock (__mutex);
292 __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
294 return __gthread_mutex_trylock (__mutex);
298 __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
300 return __gthread_mutex_unlock (__mutex);
304 __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
306 return __gthread_mutex_destroy (__mutex);
311 #undef _GLIBCXX_UNUSED
312 #undef __GTHREAD_INLINE
313 #undef __GTHREAD_ALWAYS_INLINE
_Tp arg(const complex< _Tp > &)
Return phase angle of z.