Gilles Chanteperdrix wrote:
> Gilles Chanteperdrix wrote:
>> Jan Kiszka wrote:
>>> Gilles Chanteperdrix wrote:
>>>> Gilles Chanteperdrix wrote:
>>>>> Jan Kiszka wrote:
>>>>>> Gilles Chanteperdrix wrote:
>>>>>>> I get this warning when compiling trunk:
>>>>>>>
>>>>>>> checking for __thread... rm: cannot remove `conftest1.dir': Is a 
>>>>>>> directory
>>>>>>> yes
>>>>>>>
>>>>>> That simple, it's a typo in this line:
>>>>>>
>>>>>> http://www.rts.uni-hannover.de/xenomai/lxr/source/configure.in?v=SVN-trunk#394
>>>>>>
>>>>>> Also, that rm should be done outside the if block to play safe.
>>>>> Ok. But once this is fixed, I get a segmentation fault with __thread on
>>>>> ARM in rt_task_trampoline. I am currently testing the SIGWINCH thing,
>>>>> and if __thread is disabled, there is no segfault.
>>>> If a #ifdef 0 xeno_set_current, there is no segfault.
>>>>
>>> Interesting. What about removing the initial-exec attributes? Is
>>> __thread otherwise know to work on your platform?
>> Yes. This is a race condition, the real bug is, IMHO:
>>      __native_self = *iargs->task;
>> When the segfault happens iargs->task is NULL. I suspect you are not
>> supposed to use iargs after the __native_task_create syscall.
> 
> Yes, that was the problem.

What did you change? Can you explain the why to me?

> 
> However, another problem, should not the __thread variables be given the
> weak attribute too? If a native thread tries to use a pthread mutex, I
> want pthread_mutex_lock to obtain the current xnhandle_t set by the
> native skin, not an inexistant one that should have been set by the
> posix skin but obviously has not.
> 

Yes, true. Please commit a fix as you are already patching.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

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

Reply via email to