Maybe if we do this right, we can get rid of the racy looking loop at the top of test_SuspendThread() in dlls/kernel/tests/thread.c ... or is that loop needed on Windows, too?
I think it's needed. The loop is only here to wait for the child to call actually SuspendThread. So, it's just about being sure that the child is able to call SuspendThread in a decent time (the issue being what value should we put for a 'decent' time). A+