From e185d57e9933806ede21294acb2a3283a840b6c7 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 24 Jun 2015 17:58:12 -0700 Subject: Use unsigned types for counters in getaddrinfo_a code. --- ChangeLog | 10 ++++++++++ resolv/gai_misc.h | 2 +- resolv/gai_suspend.c | 2 +- resolv/getaddrinfo_a.c | 4 ++-- sysdeps/nptl/gai_misc.h | 4 ++-- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9d06bc1..e2e2d2e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2015-06-24 Roland McGrath + * 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'. + * sysdeps/pthread/aio_misc.h (struct waitlist): Change type of field counterp to 'volatile unsigned int *'. * sysdeps/pthread/aio_suspend.c [DONT_NEED_AIO_MISC_COND] 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) \ { \ -- cgit v1.1