about summary refs log tree commit diff
path: root/nptl/tst-cleanup4aux.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2023-08-29 08:28:31 +0200
committerFlorian Weimer <fweimer@redhat.com>2023-08-29 08:28:38 +0200
commitc00b984fcd53f679ca2dafcd1aee2c89836e6e73 (patch)
tree2422bd814cbced0dc7a519ebdd31994de876935a /nptl/tst-cleanup4aux.c
parent693918b6dd13ce2bd8dd3c5734de99f67d5818db (diff)
downloadglibc-c00b984fcd53f679ca2dafcd1aee2c89836e6e73.tar.gz
glibc-c00b984fcd53f679ca2dafcd1aee2c89836e6e73.tar.xz
glibc-c00b984fcd53f679ca2dafcd1aee2c89836e6e73.zip
nscd: Skip unusable entries in first pass in prune_cache (bug 30800)
Previously, if an entry was marked unusable for any reason, but had
not timed out yet, the assert would trigger.

One way to get into such state is if a data change is detected during
re-validation of an entry.  This causes the entry to be marked as not
usable.  If exits nscd soon after that, then the clock jumps
backwards, and nscd restarted, the cache re-validation run after
startup triggers the removed assert.

The change is more complicated than just the removal of the assert
because entries marked as not usable should be garbage-collected in
the second pass.  To make this happen, it is necessary to update some
book-keeping data.

Reviewed-by: DJ Delorie <dj@redhat.com>
Diffstat (limited to 'nptl/tst-cleanup4aux.c')
0 files changed, 0 insertions, 0 deletions