[PATCH Fix incorrect double-checked locking related to _res_hconf.initialized. [BZ #20477]

Florian Weimer fweimer@redhat.com
Thu Aug 18 08:05:00 GMT 2016


On 08/18/2016 09:05 AM, Andreas Schwab wrote:
> On Aug 17 2016, Florian Weimer <fweimer@redhat.com> wrote:
>
>> On 08/17/2016 04:51 PM, Andreas Schwab wrote:
>>> On Aug 17 2016, Torvald Riegel <triegel@redhat.com> wrote:
>>>
>>>> diff --git a/resolv/res_hconf.h b/resolv/res_hconf.h
>>>> index b97734d..a3d23f3 100644
>>>> --- a/resolv/res_hconf.h
>>>> +++ b/resolv/res_hconf.h
>>>> @@ -25,6 +25,15 @@
>>>>
>>>>  struct hconf
>>>>  {
>>>> +  /* We keep the INITIALIZED member only for backwards compatibility.  New
>>>> +     code should just call _res_hconf_init unconditionally.  For this field
>>>> +     to be used safely, users must ensure that either (1) a call to
>>>> +     _res_hconf_init happens-before any load from INITIALIZED, or (2) an
>>>                                ^
>>>> +     assignment of zero to INITIALIZED happens-before any load from it, and
>>>                                                  ^
>>>
>>> Those hyphens look wrong.
>>
>> “happens-before” is third-person singular of the verb
>> “happen-before”. It's a technical term widely used while discussing memory
>> models.
>
> But writing it without hyphen is standard English and doesn't require
> special knowledge.

But making sense of this comment requires special knowledge, and writing 
the verb as “happens-before” makes it clear that the memory relation is 
meant, and not some foggy concept of ordering.  It's like 
MAY/SHOULD/RECOMMEND in IETF RFCs in this regard.

Florian



More information about the Libc-alpha mailing list