[COMMITTED] Use unsigned types for counters in getaddrinfo_a code.
Commit Message
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'.
@@ -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
@@ -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;
@@ -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. */
@@ -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) \
{ \