rt_task_unblock() POSIX alternative

Richard Weinberger richard.weinberger at gmail.com
Tue Apr 14 11:46:14 CEST 2020


On Tue, Apr 14, 2020 at 11:11 AM Petr ńĆervenka <grugh at centrum.cz> wrote:
>
> > I fear there seems to be a confusion between POSIX tasks and POSIX skin.
> > Is your goal programming Xenomai realtime threads using POSIX alike APIs?
> > Or are you looking for a pedant of rt_task_unblock() to unblock a
> > POSIX task, without Xenomai realtime threads?
> >
> > The solution I provided is for the latter case.
>
>
>
> My original goal was to port a very complex realtime application from Xenomai 2.6.5 Native skin to Xenomai 3.1 POSIX skin. So I made series of examples, where I tried to verify porting of several designs used in the orig. application. And rt_task_unblock() for reconfiguration of the waiting threads in the orig app was one of them.
>
> Now I'm very curious, why the (my explicit) signals in Xenomai POSIX skin are not working for me as I would expect.
>
>
>
> Here is my compile command:
>
> g++ -fasynchronous-unwind-tables   -c -g -D_DEBUG -D_GNU_SOURCE -D_REENTRANT -D__COBALT_WRAP__ -D__COBALT__ -I/usr/xenomai/include/cobalt -I/usr/xenomai/include -MMD -MP -MF "build/Debug/GNU-Linux/main.o.d" -o build/Debug/GNU-Linux/main.o main.cpp
>
>
>
> Here is my link command:
>
> g++ -fasynchronous-unwind-tables    -o dist/Debug/GNU-Linux/countertestapp_4 build/Debug/GNU-Linux/main.o -L/usr/xenomai/lib -Wl,-rpath,'/usr/xenomai/lib' -Wl,--no-as-needed -Wl,@/usr/xenomai/lib/cobalt.wrappers -Wl,@/usr/xenomai/lib/modechk.wrappers /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -lcobalt -lmodechk -lpthread -lrt
>
>
>
> I'm using Netbeans IDE for my attemps, but the I tried to integrate xeno-config --posix --cflags or --ldflags result into the project settings as much as possible.

Okay. Now things get clearer.
pthread_kill() will be wrapped to Xenomai, but you installed a signal
handler for a Linux process.

What you basically need is a function in the Xenomai POSIX skin which
calls threadobj_unblock().

-- 
Thanks,
//richard



More information about the Xenomai mailing list