Jan Kiszka wrote:
Hi Philippe,
I think this one is for you: ;)
Sebastian got almost mad with his CAN driver while tracing a strange
scheduling behaviour during shadow thread deletion for several days(!) -
and I was right on the way to follow him yesterday evening. Attached is
a simplified demonstration of the effect, consisting of a RTDM driver
and both a kernel and user space application to trigger it.
I've spotted the issue in nucleus/shadow.c. Basically, the root thread priority
boost was leaking to a non-shadow thread due to a missing priority reset in the
lostage APC handler, whilst a shadow was in the process of relaxing. Really
funky bug, thanks! :o> Fixed in the repo hopefully for good. The scheduling
sequence is now correct with your demo app on my box.
--
Philippe.