threads.c File Reference

Include dependency graph for threads.c:


Data Structures

struct  vlc_thread_boot

Defines

#define VLC_THREADS_UNINITIALIZED   0
#define VLC_THREADS_PENDING   1
#define VLC_THREADS_ERROR   2
#define VLC_THREADS_READY   3
#define _POSIX_CLOCK_SELECTION   (-1)
#define THREAD_RTYPE   void *
#define THREAD_RVAL   NULL

Functions

libvlc_global_data_tvlc_global (void)
vlc_object_tvlc_threadobj (void)
static unsigned long vlc_threadid (void)
void vlc_pthread_fatal (const char *action, int error, const char *file, unsigned line)
int vlc_threads_init (void)
void vlc_threads_end (void)
int vlc_mutex_init (vlc_mutex_t *p_mutex)
int vlc_mutex_init_recursive (vlc_mutex_t *p_mutex)
void __vlc_mutex_destroy (const char *psz_file, int i_line, vlc_mutex_t *p_mutex)
int __vlc_cond_init (vlc_cond_t *p_condvar)
void __vlc_cond_destroy (const char *psz_file, int i_line, vlc_cond_t *p_condvar)
int vlc_threadvar_create (vlc_threadvar_t *p_tls, void(*destr)(void *))
void vlc_threadvar_delete (vlc_threadvar_t *p_tls)
static void * thread_entry (void *data)
int __vlc_thread_create (vlc_object_t *p_this, const char *psz_file, int i_line, const char *psz_name, void *(*func)(vlc_object_t *), int i_priority, bool b_wait)
int __vlc_thread_set_priority (vlc_object_t *p_this, const char *psz_file, int i_line, int i_priority)
void __vlc_thread_join (vlc_object_t *p_this, const char *psz_file, int i_line)

Variables

static volatile unsigned i_initializations = 0
static pthread_mutex_t once_mutex = PTHREAD_MUTEX_INITIALIZER
static libvlc_global_data_tp_root
 Global process-wide VLC object.
static vlc_threadvar_t thread_object_key
 Object running the current thread.
vlc_threadvar_t msg_context_global_key
 The global thread var for msg stack context We store this as a static global variable so we don't need a vlc_object_t everywhere.

Define Documentation

#define _POSIX_CLOCK_SELECTION   (-1)

#define THREAD_RTYPE   void *

#define THREAD_RVAL   NULL

#define VLC_THREADS_ERROR   2

#define VLC_THREADS_PENDING   1

#define VLC_THREADS_READY   3

#define VLC_THREADS_UNINITIALIZED   0


Function Documentation

void __vlc_cond_destroy ( const char *  psz_file,
int  i_line,
vlc_cond_t *  p_condvar 
)

int __vlc_cond_init ( vlc_cond_t *  p_condvar  ) 

void __vlc_mutex_destroy ( const char *  psz_file,
int  i_line,
vlc_mutex_t *  p_mutex 
)

int __vlc_thread_create ( vlc_object_t p_this,
const char *  psz_file,
int  i_line,
const char *  psz_name,
void *(*)(vlc_object_t *)  func,
int  i_priority,
bool  b_wait 
)

void __vlc_thread_join ( vlc_object_t p_this,
const char *  psz_file,
int  i_line 
)

int __vlc_thread_set_priority ( vlc_object_t p_this,
const char *  psz_file,
int  i_line,
int  i_priority 
)

static void* thread_entry ( void *  data  )  [static]

libvlc_global_data_t* vlc_global ( void   ) 

int vlc_mutex_init ( vlc_mutex_t *  p_mutex  ) 

int vlc_mutex_init_recursive ( vlc_mutex_t *  p_mutex  ) 

void vlc_pthread_fatal ( const char *  action,
int  error,
const char *  file,
unsigned  line 
)

static unsigned long vlc_threadid ( void   )  [inline, static]

vlc_object_t* vlc_threadobj ( void   ) 

void vlc_threads_end ( void   ) 

int vlc_threads_init ( void   ) 

int vlc_threadvar_create ( vlc_threadvar_t *  p_tls,
void(*)(void *)  destr 
)

void vlc_threadvar_delete ( vlc_threadvar_t *  p_tls  ) 


Variable Documentation

volatile unsigned i_initializations = 0 [static]

vlc_threadvar_t msg_context_global_key

The global thread var for msg stack context We store this as a static global variable so we don't need a vlc_object_t everywhere.

This key is created in vlc_threads_init and is therefore ready to use at the very beginning of the universe

pthread_mutex_t once_mutex = PTHREAD_MUTEX_INITIALIZER [static]

libvlc_global_data_t* p_root [static]

Global process-wide VLC object.

Contains inter-instance data, such as the module cache and global mutexes.

vlc_threadvar_t thread_object_key [static]

Object running the current thread.


Generated on Wed Aug 13 08:05:41 2008 for VLC by  doxygen 1.5.1