[svn] commit: r3717 - /branches/trac408/src/lib/nsas/TODO

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Dec 3 21:56:42 UTC 2010


Author: vorner
Date: Fri Dec  3 21:56:42 2010
New Revision: 3717

Log:
TODO update (weak_ptr is more clever)

Modified:
    branches/trac408/src/lib/nsas/TODO

Modified: branches/trac408/src/lib/nsas/TODO
==============================================================================
--- branches/trac408/src/lib/nsas/TODO (original)
+++ branches/trac408/src/lib/nsas/TODO Fri Dec  3 21:56:42 2010
@@ -19,12 +19,6 @@
   referenced by any zone entry. This will remove duplicates, keep the RTTs
   longer and will provide access to everything that exists. This is
   tricky, though, because we need to be thread safe. There seems to be
-  solution to:
-  - Reimplement shared_ptr (or subclass it, if it is possible)
-  - Have weak pointers on the hash table
-  - We need to lock the hash table entry when we are about to reach 0
-    so noone gets a reference when we are removing/destroing it. Then
-    we need to check the count once again, someone might have acquired
-    the reference before we got the lock (the chance is small, so the
-    overhead should not matter, but it would crash the application)
+  solution to use weak_ptr inside the hash_table instead of shared_ptr and
+  catch the exception inside get() (and getOrAdd) and delete the dead pointer.
 * Selection algorithm




More information about the bind10-changes mailing list