Mark Andrews
5497de6931
2313. [cleanup] Silence Coverity warnings. Handle private stacks.
...
[RT #17447 ] [RT #17478 ]
2008-01-22 01:34:15 +00:00
Michael Graff
b239c8294a
commit lruttl to the mainline. A tag was set called skan_lruttl-mainline-base, and I will tag this as skan_lruttl-mainline-merge after this commit
2007-10-19 17:15:53 +00:00
Automatic Updater
70e5a7403f
update copyright notice
2007-06-19 23:47:24 +00:00
Automatic Updater
ec5347e2c7
update copyright notice
2007-06-18 23:47:57 +00:00
Mark Andrews
037b732f88
update
...
1920. [bug] The cache rbtdb lock array was too small to
have the desired performance characteristics.
[RT #15454 ]
2005-10-13 01:19:15 +00:00
Mark Andrews
83a56f1e4f
1886. [bug] Fix unreasonably low quantum on call to
...
dns_rbt_destroy2(). Remove unnecessay unhash_node()
call. [RT #14919 ]
2005-06-17 01:00:08 +00:00
Tatuya JINMEI 神明達哉
5597be9bb8
1813. [func] Restructured the data locking framework using
...
architecture dependent atomic operations (when
available), improving response performance on
multi-processor machines significantly.
x86, x86_64, alpha, and sparc64 are currently
supported.
(RT #13505 )
2005-06-04 05:32:50 +00:00
Mark Andrews
69fe9aaafd
update copyright notice
2005-04-29 00:24:12 +00:00
Rob Austein
ab023a6556
1851. [doc] Doxygen comment markup. [RT #11398 ]
2005-04-27 04:57:32 +00:00
Mark Andrews
40e7c805a8
1740. [bug] Replace rbt's hash algorithm as it performed badly
...
with certain zones. [RT #12729 ]
2004-10-25 01:27:54 +00:00
Mark Andrews
073bd4c4bc
1739. [bug] dns_rbt_deletetree() could incorrectly return
...
ISC_R_QUOTA. [RT #12695 ]
1738. [bug] Enable overrun checking by default. [RT #12695 ]
2004-10-11 05:49:29 +00:00
Mark Andrews
dafcb997e3
update copyright notice
2004-03-05 05:14:21 +00:00
Mark Andrews
a03848252f
1580. [bug] Zone destuction on final detach takes a long time.
...
[RT #3746 ]
1579. [bug] Multiple task managers could not be created.
2004-03-04 06:56:41 +00:00
Mark Andrews
7554feaef6
1571. [bug] rbt:hash_node() could fail leaving the hash table
...
in an inconsistant state. [RT #10208 ]
2004-03-03 22:40:56 +00:00
Tatuya JINMEI 神明達哉
e407562a75
1528. [cleanup] Simplify some dns_name_ functions based on the
...
deprecation of bitstring labels.
2003-10-25 00:31:12 +00:00
Mark Andrews
fc87397df6
1470. [bug] incorrect length passed to snprintf. [RT #5966 ]
2003-05-08 04:03:25 +00:00
Mark Andrews
b6309ed962
developer: jinmei
...
reviewer: marka
1368. [func] remove support for bitstring labels.
2002-08-27 04:53:43 +00:00
Brian Wellington
41e50ece38
add dns_name_hashbylabel() and make the rbt use it.
2001-12-04 01:32:44 +00:00
Andreas Gustafsson
5d727330e4
brace style
2001-12-03 19:44:08 +00:00
Andreas Gustafsson
1f1d36a87b
Check return values or cast them to (void), as required by the coding
...
standards; add exceptions to the coding standards for cases where this is
not desirable
2001-11-30 01:59:49 +00:00
Andreas Gustafsson
f1b6872550
Do not put a space before ';' when terminating a statement or in a 'for' statement.
2001-11-27 00:56:32 +00:00
Mark Andrews
0316cd0c04
NODE_VALID -> DNS_RBTNODE_VALID
2001-11-13 06:19:55 +00:00
Andreas Gustafsson
c0bf2b179a
When DNS_RBT_USEMAGIC is defined as true, do magic number
...
checking of RBT nodes
2001-11-10 01:37:44 +00:00
Andreas Gustafsson
a571ebca8b
style
2001-11-09 01:53:20 +00:00
David Lawrence
92ef1a9b9d
use ISC_MAGIC for all magic numbers, for our friends in EBCDIC land
2001-06-04 19:33:39 +00:00
David Lawrence
7fe56f41ec
slight optimization for dns_rbt_findnode() when bitstrings are involved:
...
skip the hashing attempts entirely when not at the root of a level
2001-05-31 22:32:46 +00:00
David Lawrence
68f4a1696f
In dns_rbt_findnode() when using hashing, check for a bitstring after
...
each failure to find the hash_name, not just when the name has multiple labels.
2001-05-31 21:52:22 +00:00
David Lawrence
b79e66b06d
While searching in dns_rbt_findnode(), cope with the possibility that
...
a bitstring label might be founding things from any label of a
multilabel search_name.
2001-05-31 11:03:33 +00:00
David Lawrence
ceda09e07a
removed stale #define DEBUG that my own comment said I was supposed to remove.
2001-04-12 21:18:14 +00:00
David Lawrence
cace8ff3bd
use ISC_MAGIC to define the magic number
2001-04-12 00:37:55 +00:00
Andreas Gustafsson
dd57718608
#include <isc/print.h>
2001-03-09 23:38:00 +00:00
David Lawrence
a09c545af1
join_nodes is removed; node joining is no longer done at any time, because
...
it corrupts active chains and can change the data at a node which
someone might be using. (In the latter case, though the full name from
the root was still intact, and the ->data member was not altered, other
values like the partial name ndata and offsets could change.)
New functions dns_rbt_fullnamefromnode() and dns_rbt_formatnodename(),
for getting a dns_name_t and filling a char buffer, respectively, with
the complete name of a node from the root.
rbtnode.is_root was being treated as isc_boolean_t even though it was bitfield
of width 1. This worked fine, but wasn't consistent with ISC style, and
would have puked if someone decided to change isc_true from 1 (unlikely
as that is). Yeah, anal, I know.
2001-03-08 01:08:39 +00:00
Brian Wellington
d752e5c19e
removed pointless code (an if statement checking something that had been
...
INSISTed on the previous line).
2001-02-28 20:20:18 +00:00
Brian Wellington
9a41936e3d
current_root was uninitialized at the start of dns_rbt_findnode(). This
...
has no real effect, but it's still good to fix it.
2001-02-21 23:21:28 +00:00
Brian Wellington
c5945fe694
Fix a potential bitstring bug.
2001-02-21 02:27:56 +00:00
Brian Wellington
4e8eba14a0
reinstate an INSIST() referenced in [RT #421 ]
2001-02-21 02:01:15 +00:00
Brian Wellington
7222f9f321
The optimization to avoid compares after hashtable matches didn't work when
...
the matched node contained multiple labels.
2001-02-10 22:46:24 +00:00
Brian Wellington
1c1f5e1911
The root node was added to the hashtable twice, which could lead to an
...
infinite loop. [RT #840 ]
2001-02-09 18:48:57 +00:00
Brian Wellington
65bc8f2af8
When assigning a bucket lock to an rbt node, use the hash of the full name,
...
rather than the hash of the partial name stored in the node. This more
evenly distributes nodes across locks.
This change only takes effect when DNS_RBT_USEHASH is defined, and also changes
the rbt so that the hashtable is created when the first node is created in the
tree, not after 64 nodes are added.
2001-02-09 01:26:51 +00:00
Brian Wellington
15bc0af6a1
chain_name() built the fully qualified name in a very inefficient way.
...
Reversing the order of the concatenations makes it significantly faster.
2001-02-05 20:07:20 +00:00
Brian Wellington
70b4889c85
A minor optimation to the rbt hash code that should reduce the number
...
of calls to dns_name_fullcompare().
2001-01-22 20:41:43 +00:00
Brian Wellington
499b34cea0
copyright update
2001-01-09 22:01:04 +00:00
Brian Wellington
6d5032f9a2
Micro-optimizations:
...
- use the DNS_NAME_INIT macro in name.c
- create dns_name_copy() and use it instead of dns_name_concatenate()
when doing a copy.
2001-01-03 00:05:15 +00:00
Brian Wellington
78838d3e0c
8 space -> tab conversion
2000-12-11 19:24:30 +00:00
Brian Wellington
08e57545c2
Allow the hashing code in the rbt to be disabled (to save memory). This
...
should eventually be configurable at runtime, or at least with a
configure option, but now it's just a #define in rbt.h.
2000-11-18 00:55:25 +00:00
David Lawrence
e94e2fe29d
cope with the possibility that the prefix of a name
...
split within a bitstring label might have been compacted to have fewer
labels than what was expected
2000-11-14 23:51:24 +00:00
David Lawrence
b65f2ab14a
534. [func] Ancestors have been removed from RBT chains. Ancestor
...
information can be discerned via node parent pointers.
533. [func] Incorporated name hashing into the RBT database to
improve search speed.
There is still evidence of a bug with regard to bitstring labels. It shows
up in bin/test/rbt/t_rbt -x -t 4 when the assertion at lib/dns/rbt.c:1631
is uncommented -- essentially a bitstring node's location in the hashtable
is not getting properly updated at some point. This shouldn't affect
searching, because a bitstring label as the parent of a new level will
generally cause the standard old binary search to be done. I will be looking
at this more closely in the very near future.
2000-10-25 07:21:31 +00:00
Brian Wellington
48d861c067
The node counting stuff didn't work.
2000-08-03 21:34:27 +00:00
Brian Wellington
83e6eb0dfe
Add routines to count the number of nodes in a database and an rbt.
2000-08-03 19:46:37 +00:00
David Lawrence
40f53fa8d9
Trailing whitespace trimmed. Perhaps running "perl util/spacewhack.pl in your
...
own CVS tree will help minimize CVS conflicts. Maybe not.
Blame Graff for getting me to trim all trailing whitespace.
2000-08-01 01:33:37 +00:00