一般 #if !defined _LIBC || defined _LIBC_REENTRANT /* When using threads, errno is a per-thread value. */ #define errno (*__errno_location ()) #endif 才能保证没问题
pkookp8
2017-12-23 12:10:59 +08:00
@sfqtsh 看了下 man errno 说是线程安全的,glibc 里也定义了__thread,猜测是每个线程都有一个 errno 但 c 库是如何寻找到本线程的 errno 的,看不懂