X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fsysdep_decls.h;h=7d02ba74b52ee7532df63bd7c0efbe2f69829e26;hb=cab2dbf7872d4ff2d86b0a0db8d1899825d7482f;hp=3bb1af0d41a85eef8a57ee0823f756d92a99b584;hpb=8e3a7d805d6a7f1a804c091af73dd31067bd2c05;p=citadel.git diff --git a/citadel/sysdep_decls.h b/citadel/sysdep_decls.h index 3bb1af0d4..7d02ba74b 100644 --- a/citadel/sysdep_decls.h +++ b/citadel/sysdep_decls.h @@ -11,10 +11,13 @@ */ -#include #include #include "sysdep.h" +#ifdef HAVE_PTHREAD_H +#include +#endif + #ifdef HAVE_DB_H #include #elif defined(HAVE_DB4_DB_H) @@ -114,6 +117,48 @@ extern int rescan[]; extern int SyslogFacility(char *name); extern int syslog_facility; + +/* + * Typdefs and stuff to abstract pthread for Citadel + */ +#ifdef HAVE_PTHREAD_H + +typedef pthread_t citthread_t; +typedef pthread_key_t citthread_key_t; +typedef pthread_mutex_t citthread_mutex_t; +typedef pthread_cond_t citthread_cond_t; +typedef pthread_attr_t citthread_attr_t; + + +#define citthread_mutex_init pthread_mutex_init +#define citthread_cond_init pthread_cond_init +#define citthread_attr_init pthread_attr_init +#define citthread_mutex_trylock pthread_mutex_trylock +#define citthread_mutex_lock pthread_mutex_lock +#define citthread_mutex_unlock pthread_mutex_unlock +#define citthread_key_create pthread_key_create +#define citthread_getspecific pthread_getspecific +#define citthread_setspecific pthread_setspecific +#define citthread_mutex_destroy pthread_mutex_destroy +#define citthread_cond_destroy pthread_cond_destroy +#define citthread_attr_destroy pthread_attr_destroy + +#define citthread_kill pthread_kill +#define citthread_cond_signal pthread_cond_signal +#define citthread_cancel pthread_cancel +#define citthread_cond_timedwait pthread_cond_timedwait +#define citthread_equal pthread_equal +#define citthread_self pthread_self +#define citthread_create pthread_create +#define citthread_attr_setstacksize pthread_attr_setstacksize +#define citthread_join pthread_join +#define citthread_cleanup_push pthread_cleanup_push +#define citthread_cleanup_pop pthread_cleanup_pop + + +#endif /* HAVE_PTHREAD_H */ + + #ifdef DEBUG_MEMORY_LEAKS #define malloc(x) tracked_malloc(x, __FILE__, __LINE__) #define realloc(x,y) tracked_realloc(x, y, __FILE__, __LINE__)