This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED PATCH] Use unsigned types for counters in getaddrinfo_a code.
- From: Roland McGrath <roland at hack dot frob dot com>
- To: "GNU C. Library" <libc-alpha at sourceware dot org>
- Date: Wed, 24 Jun 2015 17:59:16 -0700 (PDT)
- Subject: [COMMITTED PATCH] Use unsigned types for counters in getaddrinfo_a code.
- Authentication-results: sourceware.org; auth=none
Verified on i686-linux-gnu that no generated code changes nontrivially.
Thanks,
Roland
* resolv/gai_misc.h (struct waitlist): Change type of field
counterp to 'volatile unsigned int *'.
* sysdeps/nptl/gai_misc.h (GAI_MISC_WAIT): Use unsigned types for
FUTEXADDR and OLDVAL.
* resolv/getaddrinfo_a.c (getaddrinfo_a):
Give local variable TOTAL type 'volatile unsigned int'.
(struct async_waitlist): Change type of field counter to 'unsigned int'.
* resolv/gai_suspend.c (gai_suspend):
Give local variable CNTR type 'unsigned int'.
diff --git a/resolv/gai_misc.h b/resolv/gai_misc.h
index 502cad6..92f9688 100644
--- a/resolv/gai_misc.h
+++ b/resolv/gai_misc.h
@@ -31,7 +31,7 @@ struct waitlist
#ifndef DONT_NEED_GAI_MISC_COND
pthread_cond_t *cond;
#endif
- volatile int *counterp;
+ volatile unsigned int *counterp;
/* The next field is used in asynchronous `lio_listio' operations. */
struct sigevent *sigevp;
/* XXX See requestlist, it's used to work around the broken signal
diff --git a/resolv/gai_suspend.c b/resolv/gai_suspend.c
index 26a2b4e..c3a1288 100644
--- a/resolv/gai_suspend.c
+++ b/resolv/gai_suspend.c
@@ -35,7 +35,7 @@ gai_suspend (const struct gaicb *const list[], int ent,
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
#endif
int cnt;
- int cntr = 1;
+ unsigned int cntr = 1;
int none = 1;
int result;
diff --git a/resolv/getaddrinfo_a.c b/resolv/getaddrinfo_a.c
index b7ae372..e637222 100644
--- a/resolv/getaddrinfo_a.c
+++ b/resolv/getaddrinfo_a.c
@@ -28,7 +28,7 @@
/* We need this special structure to handle asynchronous I/O. */
struct async_waitlist
{
- int counter;
+ unsigned int counter;
struct sigevent sigev;
struct waitlist list[0];
};
@@ -40,7 +40,7 @@ getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig)
struct sigevent defsigev;
struct requestlist *requests[ent];
int cnt;
- volatile int total = 0;
+ volatile unsigned int total = 0;
int result = 0;
/* Check arguments. */
diff --git a/sysdeps/nptl/gai_misc.h b/sysdeps/nptl/gai_misc.h
index bb83dca..a34dbc0 100644
--- a/sysdeps/nptl/gai_misc.h
+++ b/sysdeps/nptl/gai_misc.h
@@ -35,8 +35,8 @@
#define GAI_MISC_WAIT(result, futex, timeout, cancel) \
do { \
- volatile int *futexaddr = &futex; \
- int oldval = futex; \
+ volatile unsigned int *futexaddr = &futex; \
+ unsigned int oldval = futex; \
\
if (oldval != 0) \
{ \