Linking against Carbon is triggering a bug with pthread_exit().  If carbon is linked against only for headers, a bug is triggered in pthread_exit due to the addition of a bunch of running threads by the framework completely independent of the code compiled.
Revert the removal of -framework Carbon.  It is still required and apparently any of Apple's frameworks can do just about what ever they want when it comes to threads so we will just pretend people using Darwin API know better than to use pthread_exit() in main.
Small code cleanup.
Don't wait for the thread to finish.