Brandon Williams <bmwill@xxxxxxxxxx> writes: > Currently there is a reliance on 'check_all_attr' which is a global > array of 'attr_check_item' items which is used to store the value of > each attribute during the collection process. > > This patch eliminates this global and instead creates an array per > 'attr_check' instance which is then used in the attribute collection > process. This brings the attribute system one step closer to being > thread-safe. Hmph, how close is "closer"? My understanding of this is that a codepath that has a single "attr_check" can be executing simultaneously by multiple threads, and "attr_check" is meant to contain read-only stuff sharable by them. Unless this check_all_attr is tied to the attr_result (which in turn is tied to each invocation and typically is on stack), the resulting code would not be safe, right?