mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-08 18:22:05 -04:00
Split access to wild and dirty from locknum to silence TSAN warnings.
This commit is contained in:
parent
2515825a2b
commit
b8bb1e02ad
1 changed files with 8 additions and 11 deletions
|
|
@ -40,11 +40,8 @@ ISC_LANG_BEGINDECLS
|
|||
|
||||
#define DNS_RBT_USEMAGIC 1
|
||||
|
||||
/*
|
||||
* These should add up to 30.
|
||||
*/
|
||||
#define DNS_RBT_LOCKLENGTH 10
|
||||
#define DNS_RBT_REFLENGTH 20
|
||||
#define DNS_RBT_LOCKLENGTH (sizeof(((dns_rbtnode_t *)0)->locknum)*8)
|
||||
#define DNS_RBT_REFLENGTH 20
|
||||
|
||||
#define DNS_RBTNODE_MAGIC ISC_MAGIC('R','B','N','O')
|
||||
#if DNS_RBT_USEMAGIC
|
||||
|
|
@ -154,12 +151,12 @@ struct dns_rbtnode {
|
|||
* separate region of memory.
|
||||
*/
|
||||
void *data;
|
||||
unsigned int :0; /* start of bitfields c/o node lock */
|
||||
unsigned int dirty:1;
|
||||
unsigned int wild:1;
|
||||
unsigned int locknum:DNS_RBT_LOCKLENGTH;
|
||||
unsigned int :0; /* end of bitfields c/o node lock */
|
||||
isc_refcount_t references; /* note that this is not in the bitfield */
|
||||
uint8_t :0; /* start of bitfields c/o node lock */
|
||||
uint8_t dirty:1;
|
||||
uint8_t wild:1;
|
||||
uint8_t :0; /* end of bitfields c/o node lock */
|
||||
uint16_t locknum; /* note that this is not in the bitfield */
|
||||
isc_refcount_t references;
|
||||
/*@}*/
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue