S?bastien Bourdeauducq wrote:
> Please use mtk_bindf() instead.
I see that you've already done this. Much nicer indeed, thanks !
I see that you didn't push it on stable_1.0 - was this intentional ?
I just cherry-picked it, but in the past, you committed such
changes on both places. (I'm working off stable_1.0 instead of
master because of the hang in the more recent version of RTEMs.)
Speaking of hangs, I've been tracing the MIDI hang for a bit. The
pattern is complex: at some point in time, the message queue fills
up but everything is still well. Then it drains a bit. And so on.
At some point in time, the list of free buffers runs empty while
the queue is not full, and some steps later, finally a NULL
pointer makes it to the front of the queue, and things accelerate
downhill rapidly.
I'm still not sure where exactly the root of the problem is. I
looked at a few spots and they appeared reasonably consistent in
themselves. But there may be a disagreement on the semantics of
the list ("chain") structure across functions, e.g., whether an
"end of list" pointer is simply NULL or a pointer to the list
head ("chain control").
Even if there is disagreement, this may not be the root cause,
since these lists may run empty but there should never be a case
of anyone trying to draw from them beyond that.
There is one more potential source of problems: the list ("chain")
data structures are defined in non-identical ways at two different
places (i.e., cpukit/score/include/rtems/score/chain.h vs.
doc/tools/bmenu/chain.h). As far as I can tell, both result in the
same memory layout, but the whole situation feels unsafe. A bit
like this:
http://www.infobae.com/adjuntos/jpg/2011/11/600x0_478513.jpg
> Also, could you send a patch that does the same thing with DMX?
> (possibly replacing the "DMX spy" window, and/or integrating it into
> the main DMX settings window)
I have no DMX equipment to test it with, but if you want me to,
I'll give it a try on Monday. (Got a party to run today :)
- Werner
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkymist@Freenode