Clarify comments on setentry invariants.

This commit is contained in:
Raymond Hettinger 2015-08-01 15:21:41 -07:00
parent 6a014d3494
commit 9344bd828c
1 changed files with 6 additions and 5 deletions

View File

@ -10,12 +10,13 @@ extern "C" {
/* There are three kinds of entries in the table:
1. Unused: key == NULL
2. Active: key != NULL and key != dummy
3. Dummy: key == dummy
1. Unused: key == NULL and hash == 0
2. Dummy: key == dummy and hash == -1
3. Active: key != NULL and key != dummy and hash != -1
The hash field of Unused slots have no meaning.
The hash field of Dummny slots are set to -1
The hash field of Unused slots is always zero.
The hash field of Dummy slots are set to -1
meaning that dummy entries can be detected by
either entry->key==dummy or by entry->hash==-1.
*/