X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=include%2Fvlc_threads.h;h=7d65e4f10dea5f0a370b9d24295d9c2418b49548;hb=f236ec4d6b4347be2cdb9ce1918cd24bdffb9ecd;hp=3b6c8383963d8be587f23f68ad2cd1c1f839e57c;hpb=651698d171a71e20546045a7faa56e606d0ca9a3;p=vlc diff --git a/include/vlc_threads.h b/include/vlc_threads.h index 3b6c838396..7d65e4f10d 100644 --- a/include/vlc_threads.h +++ b/include/vlc_threads.h @@ -109,32 +109,18 @@ typedef pthread_mutex_t vlc_mutex_t; typedef pthread_cond_t vlc_cond_t; typedef pthread_rwlock_t vlc_rwlock_t; typedef pthread_key_t vlc_threadvar_t; -typedef struct vlc_timer_t vlc_timer_t; - -#ifndef __APPLE__ -/* There is no POSIX timer on Mac OS X. Move that to configure eventually. */ -#define HAVE_POSIX_TIMER 1 -#endif - -struct vlc_timer_t -{ -#ifdef HAVE_POSIX_TIMER - timer_t handle; -#endif - void (*func) (void *); - void *data; -}; +typedef struct vlc_timer *vlc_timer_t; #elif defined( WIN32 ) +#if !defined( UNDER_CE ) +typedef HANDLE vlc_thread_t; +#else typedef struct { HANDLE handle; - void *(*entry) (void *); - void *data; -#if defined( UNDER_CE ) HANDLE cancel_event; -#endif } *vlc_thread_t; +#endif typedef struct { @@ -156,17 +142,7 @@ typedef struct } vlc_rwlock_t; typedef DWORD vlc_threadvar_t; -typedef struct vlc_timer_t vlc_timer_t; -struct vlc_timer_t -{ - HANDLE handle; - void (*func) (void *); - void *data; - unsigned overrun; - CRITICAL_SECTION serializer; - LONG volatile counter; -}; - +typedef struct vlc_timer *vlc_timer_t; #endif #if defined( WIN32 ) && !defined ETIMEDOUT @@ -207,9 +183,9 @@ VLC_EXPORT( void, vlc_join, (vlc_thread_t, void **) ); VLC_EXPORT (void, vlc_control_cancel, (int cmd, ...)); VLC_EXPORT( int, vlc_timer_create, (vlc_timer_t *, void (*) (void *), void *) LIBVLC_USED ); -VLC_EXPORT( void, vlc_timer_destroy, (vlc_timer_t *) ); -VLC_EXPORT( void, vlc_timer_schedule, (vlc_timer_t *, bool, mtime_t, mtime_t) ); -VLC_EXPORT( unsigned, vlc_timer_getoverrun, (const vlc_timer_t *) LIBVLC_USED ); +VLC_EXPORT( void, vlc_timer_destroy, (vlc_timer_t) ); +VLC_EXPORT( void, vlc_timer_schedule, (vlc_timer_t, bool, mtime_t, mtime_t) ); +VLC_EXPORT( unsigned, vlc_timer_getoverrun, (vlc_timer_t) LIBVLC_USED ); #ifndef LIBVLC_USE_PTHREAD_CANCEL enum { @@ -259,7 +235,7 @@ struct vlc_cleanup_t }; /* This macros opens a code block on purpose. This is needed for multiple - * calls within a single function. This also prevent Win32 developpers from + * calls within a single function. This also prevent Win32 developers from * writing code that would break on POSIX (POSIX opens a block as well). */ # define vlc_cleanup_push( routine, arg ) \ do { \