1 #ifndef THREAD_COMPAT_H
2 #define THREAD_COMPAT_H
11 #define HAVE_THREADS 0
14 * macros instead of typedefs because pthread definitions may have
15 * been pulled in by some system dependencies even though the user
16 * wants to disable pthread.
19 #define pthread_mutex_t int
20 #define pthread_cond_t int
21 #define pthread_key_t int
23 #define pthread_mutex_init(mutex, attr) dummy_pthread_init(mutex)
24 #define pthread_mutex_lock(mutex)
25 #define pthread_mutex_unlock(mutex)
26 #define pthread_mutex_destroy(mutex)
28 #define pthread_cond_init(cond, attr) dummy_pthread_init(cond)
29 #define pthread_cond_wait(cond, mutex)
30 #define pthread_cond_signal(cond)
31 #define pthread_cond_broadcast(cond)
32 #define pthread_cond_destroy(cond)
34 #define pthread_key_create(key, attr) dummy_pthread_init(key)
35 #define pthread_key_delete(key)
37 #define pthread_create(thread, attr, fn, data) \
38 dummy_pthread_create(thread, attr, fn, data)
39 #define pthread_join(thread, retval) \
40 dummy_pthread_join(thread, retval)
42 #define pthread_setspecific(key, data)
43 #define pthread_getspecific(key) NULL
45 int dummy_pthread_create(pthread_t *pthread, const void *attr,
46 void *(*fn)(void *), void *data);
47 int dummy_pthread_join(pthread_t pthread, void **retval);
49 int dummy_pthread_init(void *);
53 int online_cpus(void);
54 int init_recursive_mutex(pthread_mutex_t*);
57 #endif /* THREAD_COMPAT_H */