suspended thread, it was possible that resume was executed before
that thread had completed its initialisation in BeginThread ->
FInitialSuspended was set to false in resume and nevertheless a
semafore was posted
* second problem fixed: set FSuspended to false before waking up the
thread, so that it doesn't get FSuspended = true right after waking
up. This should be done atomically to be completely correct though.