Pierre Cloutier wrote:
>
> Erwin Rol wrote:
> >
> > Hello All,
> >
> > I am (still) trying out LXRT and it looks good, but there are some
> > things
> > i don't really understand.
> >
> > First when creating linux threads with pthread_create in user space is
> > it than
> > always needed to also create a RT_TASK , even if it only should do
> > softrealtime ?
>
> Hi Erwin:
>
> You must create a real time agent if you are going to use any RTAI API
> function call. rt_task_init(...) creates the agent also known as the buddy
> or the angel in the doc.
>
> >
> > Is there a way to get the current RT_TASK pointer (like whoami in kernel
> > modules) ?
>
> If the process had created an agent task, rt_buddy() does exactly that.
>
> >
> > Is there something to check if a RT_TASK is a hard_realtime or a soft
> > realtime task ?
>
> rt_is_hard_real_time(...) does that.
>
> >
> > Is there something like the pthread_key_create (and the like) , or is it
> > posible to just use certain userspace pthread functions aslong as they
> > don't use systemcalls ?
>
> In soft real time mode you can use system calls. In hard real time mode you
> cannot, but if you must use the unix_server.
>
Pierre has said it all already. I want just to note he hints at a few
things, e.g. unix_server, that are not yet distributed. If you really
need them in advance you should ask me or Pierre.
As for pthreads I want to tell you that we have experience just in using
pthread_create. After mating the thread with its agent you can use all
RTAI APIs. The advantage of using pthread_create in place of forking
processes is just because in that way you can share data among
processes, Linux pthreads are processes. Thus your application can be
structured as a module in user space, so that it can eventually be
easilly ported in kernel space, if needed for top performances.
Ciao, Paolo.
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/