always initialize thread pointer at program start
[musl] / src / stdio / __stdio_write.c
index e52e91a..8c89389 100644 (file)
@@ -19,13 +19,9 @@ size_t __stdio_write(FILE *f, const unsigned char *buf, size_t len)
        int iovcnt = 2;
        ssize_t cnt;
        for (;;) {
-               if (libc.main_thread) {
-                       pthread_cleanup_push(cleanup, f);
-                       cnt = syscall_cp(SYS_writev, f->fd, iov, iovcnt);
-                       pthread_cleanup_pop(0);
-               } else {
-                       cnt = syscall(SYS_writev, f->fd, iov, iovcnt);
-               }
+               pthread_cleanup_push(cleanup, f);
+               cnt = syscall_cp(SYS_writev, f->fd, iov, iovcnt);
+               pthread_cleanup_pop(0);
                if (cnt == rem) {
                        f->wend = f->buf + f->buf_size;
                        f->wpos = f->wbase = f->buf;