Fix initialization of optimization values for AIO

This commit is contained in:
Ulrich Drepper 2011-05-14 19:30:37 -04:00
parent 98d76b46d2
commit 2fc54d6f9f
3 changed files with 14 additions and 8 deletions

View file

@ -1,5 +1,9 @@
2011-05-14 Ulrich Drepper <drepper@gmail.com>
[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.

10
NEWS
View file

@ -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.

View file

@ -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 <drepper@cygnus.com>, 1997.
@ -26,6 +26,7 @@
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/param.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <aio_misc.h>
@ -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)