[I already roported some of these on c.l.p.moderated.] a) threads.xs does not check the result of pthread_create() call. This leads to numerous problems later, when the results of the thread run are expected. b) A message is printed if one of the threads wants the process to end. The message looks like A thread exited when ** other threads were running This is very confusing ("a thread exited"? Should not they do this all the time?) "called exit() or die()ed" should be more clear. Also, it does not help that the threads "created" as in (a) are included in the count above. Hope this helps, IlyaThread Next