# HG changeset patch # User Martin Troxler # Date 1294315881 -3600 # Node ID 72a4e043e67d51ff9afe461c258fd7d301b084f0 # Parent ca03a6737cb7052e389cb5e361b5e23bd2bec7a6 always use rt_mutex instead of semaphore for mutual exclusion on kernels >= 2.6.24 (removed --enable-mutex build option) diff -r ca03a6737cb7 -r 72a4e043e67d configure.ac --- a/configure.ac Thu Jan 06 12:47:20 2011 +0100 +++ b/configure.ac Thu Jan 06 13:11:21 2011 +0100 @@ -536,30 +536,6 @@ AC_DEFINE([EC_REGALIAS], [1], [Read alias adresses from register]) fi -#------------------------------------------------------------------------------ -# use mutexes instead of semaphores -#------------------------------------------------------------------------------ - -AC_ARG_ENABLE([mutex], - AS_HELP_STRING([--enable-mutex], - [Use mutex instead of semaphores for mutual exclusion (default: no)]), - [ - case "${enableval}" in - yes) mutex=1 - ;; - no) mutex=0 - ;; - *) AC_MSG_ERROR([Invalid value for --enable-mutex]) - ;; - esac - ], - [mutex=0] -) - -if test "x${mutex}" = "x1"; then - AC_DEFINE([EC_USE_MUTEX], [1], [Use mutex for mutual exclusion]) -fi - #------------------------------------------------------------------------------ # Command-line tool diff -r ca03a6737cb7 -r 72a4e043e67d master/globals.h --- a/master/globals.h Thu Jan 06 12:47:20 2011 +0100 +++ b/master/globals.h Thu Jan 06 13:11:21 2011 +0100 @@ -40,9 +40,10 @@ #include "../include/ecrt.h" #ifdef __KERNEL__ -#ifdef EC_USE_MUTEX +#include +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) #include -#endif // EC_USE_MUTEX +#endif // KERNEL_VERSION(2,6,24) #endif // __KERNEL__ /****************************************************************************** @@ -318,7 +319,7 @@ /** Mutual exclusion helpers. * */ -#ifdef EC_USE_MUTEX +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) #define ec_mutex_t rt_mutex static inline void ec_mutex_init(struct ec_mutex_t *mutex) { @@ -340,7 +341,7 @@ { rt_mutex_unlock(mutex); } -#else // EC_USE_MUTEX +#else // < KERNEL_VERSION(2,6,24) #define ec_mutex_t semaphore static inline void ec_mutex_init(struct ec_mutex_t *sem) { @@ -364,7 +365,7 @@ up(sem); } -#endif // EC_USE_MUTEX +#endif // KERNEL_VERSION(2,6,24) #endif // __KERNEL__ #endif