From 2fc54d6f9f7d6770ecb0e0bb5a3b977965bfe273 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 14 May 2011 19:30:37 -0400 Subject: [PATCH] Fix initialization of optimization values for AIO --- ChangeLog | 4 ++++ NEWS | 10 +++++----- sysdeps/pthread/aio_misc.c | 8 +++++--- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 549a23dcdb..26c431771a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-05-14 Ulrich Drepper + [BZ #12083] + * sysdeps/pthread/aio_misc.c (__aio_init): Compute optim.aio_num + correctly. + [BZ #12601] * iconvdata/cp932.c (BODY to UCS4): Fix incrementing inptr in case of two-byte sequence errors. diff --git a/NEWS b/NEWS index 3db9aea549..650fff8a35 100644 --- a/NEWS +++ b/NEWS @@ -10,11 +10,11 @@ Version 2.14 * The following bugs are resolved with this release: 386, 11257, 11258, 11487, 11532, 11578, 11653, 11668, 11724, 11945, 11947, - 12052, 12158, 12178, 12200, 12346, 12393, 12420, 12432, 12445, 12449, - 12454, 12460, 12469, 12489, 12509, 12510, 12511, 12518, 12527, 12541, - 12545, 12551, 12583, 12587, 12597, 12601, 12611, 12625, 12626, 12631, - 12650, 12653, 12655, 12660, 12681, 12685, 12711, 12713, 12714, 12717, - 12723, 12724, 12734, 12738 + 12052, 12083, 12158, 12178, 12200, 12346, 12393, 12420, 12432, 12445, + 12449, 12454, 12460, 12469, 12489, 12509, 12510, 12511, 12518, 12527, + 12541, 12545, 12551, 12583, 12587, 12597, 12601, 12611, 12625, 12626, + 12631, 12650, 12653, 12655, 12660, 12681, 12685, 12711, 12713, 12714, + 12717, 12723, 12724, 12734, 12738 * The RPC implementation in libc is obsoleted. Old programs keep working but new programs cannot be linked with the routines in libc anymore. diff --git a/sysdeps/pthread/aio_misc.c b/sysdeps/pthread/aio_misc.c index c82acbbc2d..ca3d1111e8 100644 --- a/sysdeps/pthread/aio_misc.c +++ b/sysdeps/pthread/aio_misc.c @@ -1,5 +1,5 @@ /* Handle general operations. - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006, 2007, 2009 + Copyright (C) 1997-2001, 2003, 2004, 2006, 2007, 2009, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -87,7 +88,7 @@ static int idle_thread_count; static struct aioinit optim = { 20, /* int aio_threads; Maximal number of threads. */ - 64, /* int aio_num; Number of expected simultanious requests. */ + 64, /* int aio_num; Number of expected simultaneous requests. */ 0, 0, 0, @@ -282,9 +283,10 @@ __aio_init (const struct aioinit *init) if (pool == NULL) { optim.aio_threads = init->aio_threads < 1 ? 1 : init->aio_threads; + assert (powerof2 (ENTRIES_PER_ROW)); optim.aio_num = (init->aio_num < ENTRIES_PER_ROW ? ENTRIES_PER_ROW - : init->aio_num & ~ENTRIES_PER_ROW); + : init->aio_num & ~(ENTRIES_PER_ROW - 1)); } if (init->aio_idle_time != 0)