Jan Kiszka wrote:
> Gilles Chanteperdrix wrote:
>> Jan Kiszka wrote:
>>> Optimize __wrap_pthread_setschedparam without HAVE___THREAD for the case
>>> that an already mapped shadow is modifying its own scheduling
>>> parameters.
>>>
>>> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
>>> ---
>>>
>>>  src/skins/posix/thread.c |    3 +--
>>>  1 files changed, 1 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/src/skins/posix/thread.c b/src/skins/posix/thread.c
>>> index 2ecb64f..d2839c6 100644
>>> --- a/src/skins/posix/thread.c
>>> +++ b/src/skins/posix/thread.c
>>> @@ -37,11 +37,10 @@ static int linuxthreads;
>>>  int __wrap_pthread_setschedparam(pthread_t thread,
>>>                              int policy, const struct sched_param *param)
>>>  {
>>> -   pthread_t myself = pthread_self();
>>>     unsigned long *mode_buf = NULL;
>>>     int err, promoted;
>>>  
>>> -   if (thread == myself) {
>>> +   if (xeno_current != XN_NO_HANDLE && thread == pthread_self()) {
>> I was under the impression that xeno_current was only correct with
>> HAVE__THREAD. Otherwise, I guess we should use xeno_get_current(), no?
>>
> 
> Of course.
> 
> ------->
> 
> Optimize __wrap_pthread_setschedparam without HAVE___THREAD for the case
> that an already mapped shadow is modifying its own scheduling
> parameters.
> 
> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
> ---
> 
>  src/skins/posix/thread.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/src/skins/posix/thread.c b/src/skins/posix/thread.c
> index 2ecb64f..46c49bf 100644
> --- a/src/skins/posix/thread.c
> +++ b/src/skins/posix/thread.c
> @@ -37,11 +37,10 @@ static int linuxthreads;
>  int __wrap_pthread_setschedparam(pthread_t thread,
>                                int policy, const struct sched_param *param)
>  {
> -     pthread_t myself = pthread_self();
>       unsigned long *mode_buf = NULL;
>       int err, promoted;
>  
> -     if (thread == myself) {
> +     if (xeno_get_current() != XN_NO_HANDLE && thread == pthread_self()) {

Should not this be xeno_get_current() == XN_NO_HANDLE ? The thread has a
chance to be promoted only if it is not already shadowed.

-- 
                                                 Gilles.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to