Do not cache negative results in nscd if these are transient
This commit is contained in:
parent
6e4b210745
commit
3e1aa84e7f
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2012-01-20 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
* nscd/aicache.c (addhstaiX): Do not cache negative results of
|
||||
transient errors.
|
||||
* nscd/grpcache.c (cache_addgr): Likewise.
|
||||
* nscd/hstcache.c (cache_addhst): Likewise.
|
||||
* nscd/initgrcache.c (addinitgroupsX): Likewise.
|
||||
* nscd/pwdcache.c (cache_addpw): Likewise.
|
||||
* nscd/servicescache.c (cache_addserv): Likewise.
|
||||
|
||||
2012-01-16 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
* malloc/malloc.c: Various cleanups.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Cache handling for host lookup.
|
||||
Copyright (C) 2004-2008, 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004-2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
|
||||
|
||||
|
@ -514,8 +514,9 @@ next_nip:
|
|||
if (fd != -1)
|
||||
TEMP_FAILURE_RETRY (send (fd, ¬found, total, MSG_NOSIGNAL));
|
||||
|
||||
/* If we cannot permanently store the result, so be it. */
|
||||
if (__builtin_expect (db->negtimeout == 0, 0))
|
||||
/* If we have a transient error or cannot permanently store the
|
||||
result, so be it. */
|
||||
if (rc4 == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
|
||||
{
|
||||
/* Mark the old entry as obsolete. */
|
||||
if (dh != NULL)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Cache handling for group lookup.
|
||||
Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
||||
|
||||
|
@ -120,8 +120,9 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
|
|||
else
|
||||
written = total;
|
||||
|
||||
/* If we cannot permanently store the result, so be it. */
|
||||
if (db->negtimeout == 0)
|
||||
/* If we have a transient error or cannot permanently store
|
||||
the result, so be it. */
|
||||
if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
|
||||
{
|
||||
/* Mark the old entry as obsolete. */
|
||||
if (dh != NULL)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Cache handling for host lookup.
|
||||
Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
||||
|
||||
|
@ -141,8 +141,9 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
|
|||
MSG_NOSIGNAL)) != total)
|
||||
all_written = false;
|
||||
|
||||
/* If we cannot permanently store the result, so be it. */
|
||||
if (__builtin_expect (db->negtimeout == 0, 0))
|
||||
/* If we have a transient error or cannot permanently store
|
||||
the result, so be it. */
|
||||
if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
|
||||
{
|
||||
/* Mark the old entry as obsolete. */
|
||||
if (dh != NULL)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Cache handling for host lookup.
|
||||
Copyright (C) 2004-2006, 2008, 2009, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004-2006, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
|
||||
|
||||
|
@ -202,8 +202,9 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
|
|||
written = TEMP_FAILURE_RETRY (send (fd, ¬found, total,
|
||||
MSG_NOSIGNAL));
|
||||
|
||||
/* If we cannot permanently store the result, so be it. */
|
||||
if (__builtin_expect (db->negtimeout == 0, 0))
|
||||
/* If we have a transient error or cannot permanently store
|
||||
the result, so be it. */
|
||||
if (all_tryagain || __builtin_expect (db->negtimeout == 0, 0))
|
||||
{
|
||||
/* Mark the old entry as obsolete. */
|
||||
if (dh != NULL)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Cache handling for passwd lookup.
|
||||
Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
||||
|
||||
|
@ -124,8 +124,9 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
|
|||
written = TEMP_FAILURE_RETRY (send (fd, ¬found, total,
|
||||
MSG_NOSIGNAL));
|
||||
|
||||
/* If we cannot permanently store the result, so be it. */
|
||||
if (__builtin_expect (db->negtimeout == 0, 0))
|
||||
/* If we have a transient error or cannot permanently store
|
||||
the result, so be it. */
|
||||
if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
|
||||
{
|
||||
/* Mark the old entry as obsolete. */
|
||||
if (dh != NULL)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Cache handling for services lookup.
|
||||
Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@drepper.com>, 2007.
|
||||
|
||||
|
@ -108,8 +108,9 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
|
|||
written = TEMP_FAILURE_RETRY (send (fd, ¬found, total,
|
||||
MSG_NOSIGNAL));
|
||||
|
||||
/* If we cannot permanently store the result, so be it. */
|
||||
if (__builtin_expect (db->negtimeout == 0, 0))
|
||||
/* If we have a transient error or cannot permanently store
|
||||
the result, so be it. */
|
||||
if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
|
||||
{
|
||||
/* Mark the old entry as obsolete. */
|
||||
if (dh != NULL)
|
||||
|
|
Loading…
Reference in a new issue