thread: Provide no-op variants for pthread_once

This commit is contained in:
Luca Barbato 2015-10-07 22:43:38 +02:00
parent 08377f9c3b
commit c53e796f8b

View File

@ -39,6 +39,11 @@
#define ff_mutex_unlock pthread_mutex_unlock
#define ff_mutex_destroy pthread_mutex_destroy
#define AVOnce pthread_once_t
#define AV_ONCE_INIT PTHREAD_ONCE_INIT
#define ff_thread_once(control, routine) pthread_once(control, routine)
#else
#define AVMutex char
@ -48,6 +53,18 @@
#define ff_mutex_unlock(mutex) (0)
#define ff_mutex_destroy(mutex) (0)
#define AVOnce char
#define AV_ONCE_INIT 0
static inline int ff_thread_once(char *control, void (*routine)(void))
{
if (!*control) {
routine();
*control = 1;
}
return 0;
}
#endif
#endif /* AVUTIL_THREAD_H */