pthread_kill(invalid_value, sig); required to return ESRCH which is not possible
http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_kill.html
+restrict in wcpncpy prototype is at the wrong place
+wchar_t *wcpncpy(wchar_t restrict *ws1, const wchar_t *restrict ws2, size_t n);