This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.21-534-g86edd44


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  86edd44f04891c0bd0fd347cba4bfc2a13d94377 (commit)
      from  a7fcc2f8edb26e4d54b6a740aaa3f3bb0caebd14 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=86edd44f04891c0bd0fd347cba4bfc2a13d94377

commit 86edd44f04891c0bd0fd347cba4bfc2a13d94377
Author: Roland McGrath <roland@hack.frob.com>
Date:   Wed Jun 24 17:43:32 2015 -0700

    Use unsigned types for counters in AIO code.

diff --git a/ChangeLog b/ChangeLog
index eb44829..9d06bc1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2015-06-24  Roland McGrath  <roland@hack.frob.com>
+
+	* 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]
+	(do_aio_misc_wait): Give argument CNTR type 'unsigned int *'.
+	(aio_suspend): Give local variable CNTR type 'unsigned int'.
+	* sysdeps/pthread/lio_listio.c (lio_listio_internal):
+	Give local variable TOTAL type 'volatile unsigned int'.
+	(struct async_waitlist): Change type of field counter to 'unsigned int'.
+
 2015-06-24  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #18383]
diff --git a/sysdeps/nptl/aio_misc.h b/sysdeps/nptl/aio_misc.h
index fb69b0f..d5d1c08 100644
--- a/sysdeps/nptl/aio_misc.h
+++ b/sysdeps/nptl/aio_misc.h
@@ -34,8 +34,8 @@
 
 #define AIO_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)							      \
       {									      \
diff --git a/sysdeps/pthread/aio_misc.h b/sysdeps/pthread/aio_misc.h
index ffb0983..5d3fb61 100644
--- a/sysdeps/pthread/aio_misc.h
+++ b/sysdeps/pthread/aio_misc.h
@@ -51,7 +51,7 @@ struct waitlist
 #endif
     int *result;
 
-    volatile int *counterp;
+    volatile unsigned int *counterp;
     /* The next field is used in asynchronous `lio_listio' operations.  */
     struct sigevent *sigevp;
 #ifdef BROKEN_THREAD_SIGNALS
diff --git a/sysdeps/pthread/aio_suspend.c b/sysdeps/pthread/aio_suspend.c
index 920f18a..641eafb 100644
--- a/sysdeps/pthread/aio_suspend.c
+++ b/sysdeps/pthread/aio_suspend.c
@@ -94,13 +94,13 @@ cleanup (void *arg)
 #ifdef DONT_NEED_AIO_MISC_COND
 static int
 __attribute__ ((noinline))
-do_aio_misc_wait(int *cntr, const struct timespec *timeout)
+do_aio_misc_wait (unsigned int *cntr, const struct timespec *timeout)
 {
-	int result = 0;
+  int result = 0;
 
-	AIO_MISC_WAIT(result, *cntr, timeout, 1);
+  AIO_MISC_WAIT (result, *cntr, timeout, 1);
 
-	return result;
+  return result;
 }
 #endif
 
@@ -124,7 +124,7 @@ aio_suspend (list, nent, timeout)
   int cnt;
   bool any = false;
   int result = 0;
-  int cntr = 1;
+  unsigned int cntr = 1;
 
   /* Request the mutex.  */
   pthread_mutex_lock (&__aio_requests_mutex);
@@ -180,7 +180,7 @@ aio_suspend (list, nent, timeout)
       pthread_cleanup_push (cleanup, &clparam);
 
 #ifdef DONT_NEED_AIO_MISC_COND
-      result = do_aio_misc_wait(&cntr, timeout);
+      result = do_aio_misc_wait (&cntr, timeout);
 #else
       if (timeout == NULL)
 	result = pthread_cond_wait (&cond, &__aio_requests_mutex);
diff --git a/sysdeps/pthread/lio_listio.c b/sysdeps/pthread/lio_listio.c
index bfbf221..ac7ce40 100644
--- a/sysdeps/pthread/lio_listio.c
+++ b/sysdeps/pthread/lio_listio.c
@@ -35,7 +35,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];
   };
@@ -61,7 +61,7 @@ lio_listio_internal (int mode, struct aiocb *const list[], int nent,
   struct sigevent defsigev;
   struct requestlist *requests[nent];
   int cnt;
-  volatile int total = 0;
+  volatile unsigned int total = 0;
   int result = 0;
 
   if (sig == NULL)
@@ -83,7 +83,7 @@ lio_listio_internal (int mode, struct aiocb *const list[], int nent,
 
 	requests[cnt] = __aio_enqueue_request ((aiocb_union *) list[cnt],
 					       (list[cnt]->aio_lio_opcode
-					        | LIO_OPCODE_BASE));
+						| LIO_OPCODE_BASE));
 
 	if (requests[cnt] != NULL)
 	  /* Successfully enqueued.  */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                     |   11 +++++++++++
 sysdeps/nptl/aio_misc.h       |    4 ++--
 sysdeps/pthread/aio_misc.h    |    2 +-
 sysdeps/pthread/aio_suspend.c |   12 ++++++------
 sysdeps/pthread/lio_listio.c  |    6 +++---
 5 files changed, 23 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]