Gilles Chanteperdrix wrote:
Philippe Gerum wrote:
> What I suggested was to let people create normal threads using > pthread_create (likely conforming to the SCHED_OTHER policy), then use > the redirected pthread_setschedparam syscall (i.e. always applied to the > current thread) to promote them as Xenomai shadows, but leave them in > their original scheduling class. The same goes for rt_task_shadow. This > would be explicit actions that would not leave much room for "surprises".


If I understand correctly, you mean that one should not be able to
create real-time threads with pthread_create. My question was about what
to do of explicit scheduling parameters passed to pthread_create through
thread creation attributes.

Nope, this is obviously not what I meant... :o>

This is how one would create hybrids, without changing anything else to
the current interface:

    pthread_attr_init(&attr);
    ...
    pthread_attr_setschedpolicy(&attr,SCHED_OTHER);
    ...
    pthread_create(...,&attr,&foo,NULL);

and,

void *foo (void *cookie)
{
/* The following call maps a shadow thread to "current", but currently only accepts SCHED_FIFO, and would be changed to allow SCHED_OTHER/NORMAL. */
        pthread_setschedparam(...,SCHED_OTHER,...);
        /* OR, for the native API */
        rt_task_shadow(...,pri=0,...);
}

--

Philippe.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to