thr_create() returns zero when it completes successfully.
Any other return value indicates that an error occurred. When any of the following
conditions is detected, thr_create() fails and returns
the corresponding value.
A system limit is exceeded, such
as when too many LWPs have been created.
Not enough memory was available
to create the new thread.
is not NULL and stack_size is
less than the value returned by thr_min_stack.()