Hi,

today two issue hit us, one with RTAI 3.1 and one with magma. First the more critical one:

Paolo, do you remember our task deletion problem with the lxrt scheduler in 3.1? It was this pattern that triggered it, we use it in RTnet for instance:

task_fun()
{
    while (1) {
        if (rt_sem_wait(&sem) == SEM_ERR)
            return;
        /* do some stuff */
    }
}

init()
{
    rt_typed_sem_init(&sem, 0, CNT_SEM);
    rt_task_init(&task, task_fun, ...);
}

cleanup()
{
    rt_sem_delete(&sem);
    rt_task_delete(&task);
}

It still persists in 3.1's CVS, while it is not existing in the 3.1 release. The point is that we need the CVS due to some other bug in the release scheduler, but we can't use it with RTnet because of this bug. Is this issue going to be addressed before 3.1r1?

We have also examined if magma behaves better in both regards. Fortunately, it does! Ok, switching to magma might be an option.


At this chance, I wanted to enable magma detection and support in RTnet's build system. But instead of some version string like "3.2-testX", "rtai-config --version" just returns "magma"! We all learned now that magma will always be the name of the current experimental RTAI branch, right? So, how shall we distinguish in RTnet between current magma and any potential future magmas?

What about a naming scheme like "3.2-magma" or "magma-post3.1". I don't know, pick any, but please make it distinguishable!

Jan

Reply via email to