Magellan Linux

Annotation of /trunk/glibc/patches/glibc-2.15-negative-result-cache.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1806 - (hide annotations) (download)
Tue Jun 12 12:33:27 2012 UTC (11 years, 11 months ago) by niro
File size: 5653 byte(s)
-added patches for 2.15-r1
1 niro 1806 diff --git a/nscd/aicache.c b/nscd/aicache.c
2     index aaaf80d..e1f1244 100644
3     --- a/nscd/aicache.c
4     +++ b/nscd/aicache.c
5     @@ -1,5 +1,5 @@
6     /* Cache handling for host lookup.
7     - Copyright (C) 2004-2008, 2009, 2010, 2011 Free Software Foundation, Inc.
8     + Copyright (C) 2004-2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
9     This file is part of the GNU C Library.
10     Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
11    
12     @@ -514,8 +514,9 @@ next_nip:
13     if (fd != -1)
14     TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
15    
16     - /* If we cannot permanently store the result, so be it. */
17     - if (__builtin_expect (db->negtimeout == 0, 0))
18     + /* If we have a transient error or cannot permanently store the
19     + result, so be it. */
20     + if (rc4 == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
21     {
22     /* Mark the old entry as obsolete. */
23     if (dh != NULL)
24     diff --git a/nscd/grpcache.c b/nscd/grpcache.c
25     index e9607c6..a698f36 100644
26     --- a/nscd/grpcache.c
27     +++ b/nscd/grpcache.c
28     @@ -1,5 +1,5 @@
29     /* Cache handling for group lookup.
30     - Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
31     + Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
32     This file is part of the GNU C Library.
33     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
34    
35     @@ -120,8 +120,9 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
36     else
37     written = total;
38    
39     - /* If we cannot permanently store the result, so be it. */
40     - if (db->negtimeout == 0)
41     + /* If we have a transient error or cannot permanently store
42     + the result, so be it. */
43     + if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
44     {
45     /* Mark the old entry as obsolete. */
46     if (dh != NULL)
47     diff --git a/nscd/hstcache.c b/nscd/hstcache.c
48     index 4d68ade..c72feaa 100644
49     --- a/nscd/hstcache.c
50     +++ b/nscd/hstcache.c
51     @@ -1,5 +1,5 @@
52     /* Cache handling for host lookup.
53     - Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
54     + Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
55     This file is part of the GNU C Library.
56     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
57    
58     @@ -141,8 +141,9 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
59     MSG_NOSIGNAL)) != total)
60     all_written = false;
61    
62     - /* If we cannot permanently store the result, so be it. */
63     - if (__builtin_expect (db->negtimeout == 0, 0))
64     + /* If we have a transient error or cannot permanently store
65     + the result, so be it. */
66     + if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
67     {
68     /* Mark the old entry as obsolete. */
69     if (dh != NULL)
70     diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c
71     index 4ac9942..2019991 100644
72     --- a/nscd/initgrcache.c
73     +++ b/nscd/initgrcache.c
74     @@ -1,5 +1,5 @@
75     /* Cache handling for host lookup.
76     - Copyright (C) 2004-2006, 2008, 2009, 2011 Free Software Foundation, Inc.
77     + Copyright (C) 2004-2006, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
78     This file is part of the GNU C Library.
79     Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
80    
81     @@ -202,8 +202,9 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
82     written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
83     MSG_NOSIGNAL));
84    
85     - /* If we cannot permanently store the result, so be it. */
86     - if (__builtin_expect (db->negtimeout == 0, 0))
87     + /* If we have a transient error or cannot permanently store
88     + the result, so be it. */
89     + if (all_tryagain || __builtin_expect (db->negtimeout == 0, 0))
90     {
91     /* Mark the old entry as obsolete. */
92     if (dh != NULL)
93     diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c
94     index 49e130c..e2ba09d 100644
95     --- a/nscd/pwdcache.c
96     +++ b/nscd/pwdcache.c
97     @@ -1,5 +1,5 @@
98     /* Cache handling for passwd lookup.
99     - Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc.
100     + Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
101     This file is part of the GNU C Library.
102     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
103    
104     @@ -124,8 +124,9 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
105     written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
106     MSG_NOSIGNAL));
107    
108     - /* If we cannot permanently store the result, so be it. */
109     - if (__builtin_expect (db->negtimeout == 0, 0))
110     + /* If we have a transient error or cannot permanently store
111     + the result, so be it. */
112     + if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
113     {
114     /* Mark the old entry as obsolete. */
115     if (dh != NULL)
116     diff --git a/nscd/servicescache.c b/nscd/servicescache.c
117     index d3d5dce..a6337e3 100644
118     --- a/nscd/servicescache.c
119     +++ b/nscd/servicescache.c
120     @@ -1,5 +1,5 @@
121     /* Cache handling for services lookup.
122     - Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
123     + Copyright (C) 2007, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
124     This file is part of the GNU C Library.
125     Contributed by Ulrich Drepper <drepper@drepper.com>, 2007.
126    
127     @@ -108,8 +108,9 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
128     written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
129     MSG_NOSIGNAL));
130    
131     - /* If we cannot permanently store the result, so be it. */
132     - if (__builtin_expect (db->negtimeout == 0, 0))
133     + /* If we have a transient error or cannot permanently store
134     + the result, so be it. */
135     + if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
136     {
137     /* Mark the old entry as obsolete. */
138     if (dh != NULL)