phil wilshire wrote:
>
> Hi all,
>
> At last I have had a few seconds to think about all this...
>
> I think the Peter Wurmsdobler's simplicissimi simplicius list almost has
> it.
> I'll reproduce here to remind us.
>
> Watch out for some suggested changes....
> Not all of this works yet
> In general all this should work in both User Space and kernel space.
> The LXRT approach can be used to make it work in user space.
> Hard deadlines will not be provided in user space.
>
> Tasks
>
> rtl_pthread_t * rtl_pthread_create( char * name,rtl_pthread_attr_t *
> attr
> void * ( *start_routine)(void *), void * arg);
>
> Notes...
> allocate from a preset stack of task structures
> use a char name that will appear in /proc
> attr can be NULL for default action.
> special rtl_pthread_t structure to prevent confusion with
> " real " Pthreads.
>
> stack , priority stack size, cpu to run on etc go into the attr
> NULL defaults will work
>
> int rtl_pthread_delete(rtl_pthread_t * thread);
>
> New one... we can change some of the attrs here
> int rtl_pthread_set_attr(rtl_pthread_t * thread, rtl_pthread_attr*
> attr);
>
> int rtl_pthread_suspend(rtl_pthread_t * thread);
> int rtl_pthread_wakeup(rtl_pthread_t * thread);
> int rtl_pthread_wait(rtl_time * time); note time can be null to wait
> for next period
> otherwise time is an absolute
> time to wait until
> int rtl_pthread_make_periodic(rtl_pthread_t * thread,rtl_time *
> start_time,rtl_time * period);
>
Hi Phil,
The only comments that I have are with the thread specific calls. The
use of the word "pthread" implies POSIX compliance and should not be
used unless they are standard POSIX API calls. Why not use something
like task or thread, which would avoid any possible confusion, for
example:
int rtl_thread_suspend(rtl_thread_t * thread);
Also, why not start with the NMTv1/RTAI api and derive a common subset?
Best regards,
Steve
--- [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/