I've attached a cleaned up diff based on Fons' changes to Jack1 that correctly sorts clients using topographic sort. Some of you may remember that JACK1 has never done the client sorting correctly, meaning that there are graph configurations in which a client would execute too early or too late relative to other clients. Fons did the work of fixing this by using a real topographic sort.

I'm ready to apply it, but just wanted to give any other Jack developers (or anyone else) the opportunity to comment on it before I do.

I should record how I created this patch:

1) make two copies of the JACK source tree
2) apply Fons original patch to one of them. This changed whitespace, indentation, brace placement, and more, across hundreds of lines of code that was not part of the functional change.
3) run uncrustify on both copies of the source tree, using a configuration file that forces code back to the existing coding style for JACK1.
4) run diff -wru on both trees.