浏览代码

Change in_addr_t inet_aton to int, glibc has it as int and uClibc uses it in addr.c also as int. Rename mylock/LOCK/UNLOCK in resolv.c to allow IMA compiling

Peter S. Mazinger 18 年之前
父节点
当前提交
789db36ade
共有 2 个文件被更改,包括 12 次插入12 次删除
  1. 1 1
      include/arpa/inet.h
  2. 11 11
      libc/inet/resolv.c

+ 1 - 1
include/arpa/inet.h

@@ -71,7 +71,7 @@ extern __const char *inet_ntop (int __af, __const void *__restrict __cp,
 #ifdef __USE_MISC
 /* Convert Internet host address from numbers-and-dots notation in CP
    into binary data and store the result in the structure INP.  */
-extern in_addr_t inet_aton (__const char *__cp, struct in_addr *__inp) __THROW;
+extern int inet_aton (__const char *__cp, struct in_addr *__inp) __THROW;
 
 /* Format a network number NET into presentation format and place result
    in buffer starting at BUF with length of LEN bytes.  */

+ 11 - 11
libc/inet/resolv.c

@@ -650,12 +650,12 @@ int __form_query(int id, const char *name, int type, unsigned char *packet,
 #ifdef L_dnslookup
 
 #ifdef __UCLIBC_HAS_THREADS__
-static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK	__pthread_mutex_lock(&mylock)
-# define UNLOCK	__pthread_mutex_unlock(&mylock);
+static pthread_mutex_t dns_mylock = PTHREAD_MUTEX_INITIALIZER;
+# define DNS_LOCK	__pthread_mutex_lock(&dns_mylock)
+# define DNS_UNLOCK	__pthread_mutex_unlock(&dns_mylock);
 #else
-# define LOCK
-# define UNLOCK
+# define DNS_LOCK
+# define DNS_UNLOCK
 #endif
 
 /* Just for the record, having to lock __dns_lookup() just for these two globals
@@ -693,10 +693,10 @@ int __dns_lookup(const char *name, int type, int nscount, char **nsip,
 	DPRINTF("Looking up type %d answer for '%s'\n", type, name);
 
 	/* Mess with globals while under lock */
-	LOCK;
+	DNS_LOCK;
 	local_ns = ns % nscount;
 	local_id = id;
-	UNLOCK;
+	DNS_UNLOCK;
 
 	while (retries < MAX_RETRIES) {
 		if (fd != -1)
@@ -900,10 +900,10 @@ int __dns_lookup(const char *name, int type, int nscount, char **nsip,
 		free(lookup);
 
 		/* Mess with globals while under lock */
-		LOCK;
+		DNS_LOCK;
 		ns = local_ns;
 		id = local_id;
-		UNLOCK;
+		DNS_UNLOCK;
 
 		return (len);				/* success! */
 
@@ -951,10 +951,10 @@ fail:
 	h_errno = NETDB_INTERNAL;
 	/* Mess with globals while under lock */
 	if (local_ns != -1) {
-	    LOCK;
+	    DNS_LOCK;
 	    ns = local_ns;
 	    id = local_id;
-	    UNLOCK;
+	    DNS_UNLOCK;
 	}
 	return -1;
 }