From 787794f8e2566a0d6561a7fdad84e580dc9c7d05 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 18 Aug 2007 00:08:26 +0000 Subject: Fix _dump_registry() to use the correct prefix for the private methods. Reset the negative cache *before* resetting the invalidation counter, hoping this may plug a race condition (but then again, this whole module isn't coded to be thread-safe). --- Lib/abc.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/abc.py b/Lib/abc.py index 07836e6..11ddab2 100644 --- a/Lib/abc.py +++ b/Lib/abc.py @@ -157,7 +157,7 @@ class ABCMeta(type): print("Class: %s.%s" % (cls.__module__, cls.__name__), file=file) print("Inv.counter: %s" % ABCMeta.__invalidation_counter, file=file) for name in sorted(cls.__dict__.keys()): - if name.startswith("__abc_"): + if name.startswith("_ABCMeta__"): value = getattr(cls, name) print("%s: %r" % (name, value), file=file) @@ -174,8 +174,8 @@ class ABCMeta(type): # Check negative cache; may have to invalidate if cls.__negative_cache_version < ABCMeta.__invalidation_counter: # Invalidate the negative cache - cls.__negative_cache_version = ABCMeta.__invalidation_counter cls.__negative_cache = set() + cls.__negative_cache_version = ABCMeta.__invalidation_counter elif subclass in cls.__negative_cache: return False # Check the subclass hook -- cgit v0.12