[libc++] Don't try to wait on a thread that hasn't started in std::async (#125433)

If the creation of a thread fails, this causes an idle loop that will
never end because the thread wasn't started in the first place.

Fixes #125428

GitOrigin-RevId: 11766a40972f5cc853e296231e5d90ca3c886cc1
2 files changed