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