gracefully handle ExitStatus exception in async main loops

Noticed this while revisiting test_stdin, it seems this should behave the same as when you're using a sync main function.