26#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H
27#define _GLIBCXX_GCC_GTHR_SINGLE_H
31typedef int __gthread_key_t;
32typedef int __gthread_once_t;
33typedef int __gthread_mutex_t;
34typedef 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#define _GLIBCXX_UNUSED __attribute__((__unused__))
46static void *thread_local_storage = NULL;
52__gthread_objc_init_thread_system (
void)
60__gthread_objc_close_thread_system (
void)
69static inline objc_thread_t
70__gthread_objc_thread_detach (
void (* func)(
void *),
void * arg _GLIBCXX_UNUSED)
78__gthread_objc_thread_set_priority (
int priority _GLIBCXX_UNUSED)
86__gthread_objc_thread_get_priority (
void)
88 return OBJC_THREAD_INTERACTIVE_PRIORITY;
93__gthread_objc_thread_yield (
void)
100__gthread_objc_thread_exit (
void)
109static inline objc_thread_t
110__gthread_objc_thread_id (
void)
113 return (objc_thread_t) 1;
118__gthread_objc_thread_set_data (
void *value)
120 thread_local_storage = value;
126__gthread_objc_thread_get_data (
void)
128 return thread_local_storage;
135__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED)
142__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED)
149__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED)
157__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED)
165__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED)
174__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED)
181__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED)
188__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED,
189 objc_mutex_t mutex _GLIBCXX_UNUSED)
196__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED)
203__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED)
211__gthread_active_p (
void)
217__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED,
void (*__func) (
void) _GLIBCXX_UNUSED)
222static inline int _GLIBCXX_UNUSED
223__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED,
void (*__func) (
void *) _GLIBCXX_UNUSED)
228static int _GLIBCXX_UNUSED
229__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED)
235__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED)
241__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED,
const void *__v _GLIBCXX_UNUSED)
247__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
253__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
259__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
265__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED)
271__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
273 return __gthread_mutex_lock (__mutex);
277__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
279 return __gthread_mutex_trylock (__mutex);
283__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
285 return __gthread_mutex_unlock (__mutex);
289__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
291 return __gthread_mutex_destroy (__mutex);
296#undef _GLIBCXX_UNUSED