>>
>> >>  #ifndef DEFINE_SEMAPHORE
>> >>  /* Legacy DECLARE_MUTEX vanished in 2.6.37 */
>> >>  #define DEFINE_BINARY_SEMAPHORE(sem) DECLARE_MUTEX(sem)
>> >> -#elif defined(CONFIG_PREEMPT_RT)
>> >> -#define DEFINE_BINARY_SEMAPHORE(sem) DEFINE_SEMAPHORE(sem, 1)
>> >> +#elif defined(CONFIG_PREEMPT_RT_FULL)
>> >> +#define DEFINE_BINARY_SEMAPHORE(sem) DEFINE_SEMAPHORE(sem)
>> >>  #else
>> >>  #define DEFINE_BINARY_SEMAPHORE(sem) DEFINE_SEMAPHORE(sem)
>> >>  #endif
>>
>> > Why that change? I mean in 2.6.37, the define was CONFIG_PREEMPT_RT
>> > anwyay.
>>
>> If DEFINE_SEMAPHORE is not defined we are below 2.6.37. So for 2.6.37 and 
>> above CONFIG_PREEMPT_RT was checked.

> Well, are not we in the "elif" case of the #ifndef DEFINE_SEMAPHORE,
> so DEFINE_SEMAPHORE is defined, or am I missing something ?

Let me explain that more in detail:

DEFINE_SEMAPHORE is defined for linux >= 2.6.37

So for linux 2.6.37 we are in 

#elif defined(CONFIG_PREEMPT_RT)

Also in linux 3.0.0 we are in that elif. Since in 3.0.0 and above 
CONFIG_PREEMPT_RT 
was changed to CONFIG_PREEMPT_RT_FULL, so we have to use the latter one instead.

Regards,
Christoph

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to