The worker could finish its loop before scePthreadCreate returned or before
the first workerDone load, so the measured loop could be skipped with a no-op
yield. scePthreadSetaffinity also only records the guest mask, so the two
threads were never on one CPU. Both threads now pin their host threads to the
CPU main starts on; the worker reports ready and waits for start, and the
measured phase passes 64 turns back and forth, so neither thread can take its
next turn until the other has run on that CPU. The test is registered on
Windows and Linux, which have a thread affinity call.
Co-Authored-By: Claude Opus 5.5 <[email protected]>