This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]