[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