On 2018-05-24 16:18, Jan Kiszka wrote:
> Again, re-adding the list - please always use "reply to all".
> 
> On 2018-05-24 13:56, Paal Tamas wrote:
>>
>>
>> Jan Kiszka <[email protected]> írta:
>>> [re-adding the list]
>>>
>>> On 2018-05-24 13:35, Paal Tamas wrote:
>>>>
>>>>
>>>> Jan Kiszka <[email protected]> írta:
>>>>> On 2018-05-24 10:50, Paal Tamas wrote:
>>>>>> I would like to use the same named semaphore in two separate Xenomai 
>>>>>> binaries. I am using the Posix skin. It does not work as I am expecting 
>>>>>> it. 
>>>>>> The first instance of my test application creates a named semaphore. It 
>>>>>> goes to sleep after that. The second instance of the same applications 
>>>>>> starts than. It realizes that the semaphore with the name already 
>>>>>> exists, so it opens it. The sem_open() returns a valid (like) pointer. 
>>>>>> After that all semaphore functions in this second application return 
>>>>>> EINVAL (22) (Invalid argument). Both the sem_wait() and the sem_close() 
>>>>>> function behave this way.
>>>>>>
>>>>>> The same procedure worked fine in 2.6.2.1 (the previous version I used). 
>>>>>> I tried 3.0.5 and the latest git repository too. The same bad behavior 
>>>>>> there.
>>>>>>
>>>>>
>>>>> Did you configure userspace with --enable-pshared?
>>>>>
>>>>
>>>> Yes. I invoked the "configure" script this way:
>>>>
>>>> ./configure --with-core=cobalt --enable-smp --enable-pshared
>>>
>>> OK.
>>>
>>>>
>>>> This is my configuration:
>>>>
>>>> /xeno-config --info
>>>> Xenomai version: Xenomai/cobalt v3.0.6 -- #50ef005 (2018-05-13 16:21:13 
>>>> +0200)
>>>> Linux clickandmove-NUC 4.9.51xeno #1 SMP Wed May 23 05:14:47 PDT 2018 
>>>> x86_64 x86_64 x86_64 GNU/Linux
>>>> Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-4.9.51xeno 
>>>> root=UUID=7e90a17b-1ea0-4b84-849f-7d621fe6d580 ro quiet splash vt.handoff=7
>>>> I-pipe release #5 detected
>>>> Cobalt core 3.0.6 detected
>>>> Compiler: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)
>>>> Build args: --with-core=cobalt --enable-smp --enable-pshared
>>>>
>>>> When I tried the git repository I cheated a bit. I could not find the 
>>>> configure script (neither some others) and all the makefile.in files were 
>>>> missing, so I copied these files from the xenomai-3.0.6.tar.bz2. I've 
>>>> never tried the git  repositore before, always used the bz2 file(s). In 
>>>> case of the 3.0.5 version I used the bz2 file for the tests.
>>>
>>> Just run scripts/bootstrap when using a git checkout.
>>
>> Do I need any parameters to the scripts/bootstrap script in this case or I 
>> should simply run it?
>>
>>>
>>> To ensure that we are truly hunting a Xenomai issue: Does your testcase
>>> work with plain Linux?
>>>
>>
>> Yes, it works fine under plain Linux. Sorry that I forgot to mention this...
> 
> Confirmed.
> 
> In fact, your test also exposes some cleanup issue: When terminating a
> process, Xenomai does not remove the semaphore, and you need to reboot
> to remove the object.

Correction: This is not a wrong behavior, Linux does the same. The test
code just has no chance to clean up a preexisting sem because of the
other problem (EINVAL).

Jan

> 
> Will look into these problems.
> 
> Jan
> 


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

Reply via email to