simplify multi-threaded errno, eliminate useless function pointer
[musl] / src / errno / __errno_location.c
index a018578..3e92d7c 100644 (file)
@@ -1,9 +1,8 @@
-#include <errno.h>
-#include "libc.h"
+#include "pthread_impl.h"
 
 int *__errno_location(void)
 {
        static int e;
-       if (libc.errno_location) return libc.errno_location();
+       if (libc.main_thread) return __pthread_self()->errno_ptr;
        return &e;
 }