Browse Source

thread: Provide no-op variants for pthread_once

tags/n3.0
Luca Barbato 10 years ago
parent
commit
c53e796f8b
1 changed files with 17 additions and 0 deletions
  1. +17
    -0
      libavutil/thread.h

+ 17
- 0
libavutil/thread.h 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 */

Loading…
Cancel
Save