I just wrote the first draft of the new __synccall, used for multithreaded set*id(). All the concepts seem sound and seem to be working. It's missing the code to block creation of unboundedly more threads while __synccall is running, but otherwise everything's in place. Both the /proc/self/task processing logic and the PI futex logic seem to be working as expected. I haven't yet tested in the presence of multiple realtime priorities where there's a risk of some threads never getting a chance to run; I need a framework with a high-RT-prio supervisor process to kill the test if it runs too long, because I don't want to be rebooting boxes over and over to test. :) Attached is the current draft of the code, as a source file rather than a patch since the whole file is basically rewritten. Comments welcome. Rich