try ditching pthreads and using straight-up errno.
it seems perhaps each clone() gets its own copy of
errno now?