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 */