Jan Kiszka <[email protected]> írta: >On 2018-05-25 11:18, Paal Tamas wrote: >> >> >> Jan Kiszka <[email protected]> írta: >>> 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 >>>> >>> >> I saw that you created some patches on this issue and modified the git >> repository. I cloned the latest one, rebuilt Xenomai and my test application >> but the original EINVAL, Invalid Argument error in case of the second >> instance of the test application still exists. In other words I do not see >> any change in the behavior. >> Should I rebuild the Linux kernel too? > >Yes, the fix is targeting the kernel code. > >Jan >
After rebuilding the kernel the problem is disappeared. Now my test program works as expected. Thank you very much! Tamas _______________________________________________ Xenomai mailing list [email protected] https://xenomai.org/mailman/listinfo/xenomai
