changed the checks to for the errorcase using `pthread_self()`
removed the check from `pthread_start_routine()` which can be only invoked misusing the API