mirror of
https://git.musl-libc.org/git/musl
synced 2025-02-21 04:34:18 +03:00
use __h_errno_location for h_errno
we do not bother making h_errno thread-local since the only interfaces that use it are inherently non-thread-safe. but still use the potentially-thread-local ABI to access it just to avoid lock-in.
This commit is contained in:
parent
3777f5b90d
commit
e68c51ac46
@ -128,7 +128,11 @@ struct hostent *gethostbyaddr (const void *, socklen_t, int);
|
||||
int gethostbyaddr_r(const void *, socklen_t, int, struct hostent *, char *, size_t, struct hostent **, int *);
|
||||
int getservbyport_r(int, const char *, struct servent *, char *, size_t, struct servent **);
|
||||
int getservbyname_r(const char *, const char *, struct servent *, char *, size_t, struct servent **);
|
||||
extern int h_errno;
|
||||
#ifdef __GNUC__
|
||||
__attribute__((const))
|
||||
#endif
|
||||
int *__h_errno_location(void);
|
||||
#define h_errno (*__h_errno_location())
|
||||
#define EAI_NODATA -5
|
||||
#define EAI_ADDRFAMILY -9
|
||||
#define EAI_INPROGRESS -100
|
||||
|
@ -1 +1,9 @@
|
||||
#include <netdb.h>
|
||||
|
||||
#undef h_errno;
|
||||
int h_errno;
|
||||
|
||||
int *__h_errno_location(void)
|
||||
{
|
||||
return &h_errno;
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
#define _GNU_SOURCE
|
||||
#include <netdb.h>
|
||||
#include "__dns.h"
|
||||
#include "libc.h"
|
||||
|
Loading…
x
Reference in New Issue
Block a user