[gclist] Mars Rover info from comp.risks
Thu, 8 Jan 1998 13:21:17 -0800
On Jan 8, 2:26pm, Jerry Leichter wrote:
> You're asking too much of priority inheritance here. Priority inheritance
> deals with the problem of *locks* being held by intermediate-priority
> threads. It doesn't even attempt to deal with the problem of *resources*
> being held by intermediate- or even low-priority threads. That's what you've
> got here. In fact, priority inheritance never helps when there are only two
> threads involved. Here, the conflict arises between a single consumer and a
> single producer - and no locks are being held during the conflict.
I agree with all of this, except that you do need a third thread of
intermediate priority, even in this case. With the producer thread blocked,
the priority of the consumer thread doesn't matter unless there's at least a
But I still think this kind of problem shows up routinely in real systems, and
makes priority assignments dangerous without the sort of careful analysis that
is (hopefully, but not always) done for hard real-time systems.