I had a look at the code in configure.ac that checks for the
pthread_setname_np/pthread_set_name_np function in configure.ac and that code
looks fairly confused to me. It first checks for a function pthread_set_name_np
and if present assumes that it has a single parameter. If not present, it
checks for a function pthread_setname_np and then further checks if it is a the
two parameter variant from glibc or the three parameter variant as used on
NetBSD. This looks wrong to me. The single parameter variant is used on Darwin,
however it is called pthread_setname_np (like the functions on glibc and
NetBSD). On the other hand, FreeBSD has a function called pthread_set_name_np
and it expects two parameters like the glibc function. So the configure checks
apparently get things right for Linux and NetBSD, but they get it wrong for
both FreeBSD and Darwin.