> > Another approach would be to introduce a service like
> > xnintr_synchronize() and enfource the upper interfaces (e.g. skins) to
> > make use of it in their _delete() methods.
> That would be useful too for solving the "concurrent ISR while deleting
> issue", but would not enforce single deletion in the SMP case, I guess.
I actually want to introduce this call anyway. The nucleus then
provides single xnintr_disabe (nosync) interface +
xnintr_synchronize() and a skin is free to introduce both sync and
nosync versions on its own. Otherwise, there will be the same problem
as with xnintr_detach() - i.e. xnintr_disable (sync) can't be called
from a locked section as it's actually done in rt_intr_delete() (of
course, if we do really need the atomicy in the later one).
Xenomai-core mailing list