Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming.threads > #569

Re: Thread safe logging (or protecting global variables)

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail
From Alexander Terekhov <terekhov@web.de>
Newsgroups comp.programming.threads
Subject Re: Thread safe logging (or protecting global variables)
Date Thu, 15 Sep 2011 13:12:27 +0200
Organization A noiseless patient Spider
Lines 51
Message-ID <4E71DD9B.BC356E9@web.de> (permalink)
References <Co89q.7290$cb.3785@newsfe14.ams2> <j434mo$6cj$1@node2.news.atman.pl> <49s9q.1564$8D1.58@newsfe19.ams2> <j47ah3$t3k$1@node2.news.atman.pl> <h99aq.1220$MZ.469@newsfe06.ams2> <j4de6e$u92$1@node2.news.atman.pl> <M4Lbq.15823$xz.12103@newsfe09.ams2> <28d00de6-ff3f-429c-acea-62646656400f@r8g2000prd.googlegroups.com> <4E708D45.C98CF9DF@web.de> <17b0441f-0a8c-4c53-97e6-90e79cb7888d@z26g2000pre.googlegroups.com> <j4rnb5$ghe$1@speranza.aioe.org> <e9bfc484-4e03-4004-ace8-9b4d954219de@l2g2000vbn.googlegroups.com>
Reply-To terekhov@web.de
Mime-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Transfer-Encoding 7bit
Injection-Info mx04.eternal-september.org; posting-host="MCbSEzW5qwGLFMNXJh39IQ"; logging-data="16588"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/3MkbwpLs+3A0b9ozZHp9Ufjx6JEl8+mk="
X-Mailer Mozilla 4.77 [en] (Windows NT 5.0; U)
X-Accept-Language en
Cancel-Lock sha1:cq4iEX0MQllhS99mPCePuue2xcg=
Xref x330-a1.tempe.blueboxinc.net comp.programming.threads:569

Show key headers only | View raw


Joshua Maurice wrote:
> 
> On Sep 14, 7:19 pm, "James" <n...@spam.invalid> wrote:
> > "Joshua Maurice" <joshuamaur...@gmail.com> wrote in message
> >
> > news:17b0441f-0a8c-4c53-97e6-90e79cb7888d@z26g2000pre.googlegroups.com...
> >
> > [...]
> >
> > > First is that "InterlockedIncrement" probably does not provide memory
> > > order guarantees, probably just like C++11 std::memory_order_relaxed.
> >
> > http://msdn.microsoft.com/en-us/library/ms683614(v=vs.85).aspx
> >
> > How do you explain the following quote:
> >
> > "This function generates a full memory barrier (or fence) to ensure that
> > memory operations are completed in order."
> >
> > ?
> 
> I explain it through my complete inability to read.
> 
> So, do the interlocked functions act as a full barrier? As that's ill
> defined without context, do they act at least as strong as a C++11
> std::memory_order_acq_rel memory operation?
> 
> Is that Boost mailing list "post" authoritative? It raised some good
> points, but the lack of proper punctuation makes me question it. To

What do you mean by "authoritative"? ;-)

Back in 2001 I was typing so fast that proper punctuation was just a
hindrance.

> quite, "also, Interlocked stuff does not formally provide memory synch
> guaranties". The above msdn citation is about as formal as you get for
> win32 AFAIK. I merely assumed it'd work as documented. Anyone actually
> know if it doesn't?

IIRC back in 2001 MS docs said absolutely nothing about memory fencing
for interlocked stuff.

Saying that "this function generates a full memory barrier (or fence) to
ensure that memory operations are completed in order" isn't really
helpful either because in the context of relaxed memory models a fully
fenced RMW needs more than one fence.

regards,
alexander.

Back to comp.programming.threads | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Thread safe logging (or protecting global variables) Jef Driesen <jefdriesen@hotmail.com.invalid> - 2011-09-05 20:19 +0200
  Re: Thread safe logging (or protecting global variables) Edek <edek.pienkowski@gmail.com> - 2011-09-05 20:30 +0200
    Re: Thread safe logging (or protecting global variables) Jef Driesen <jefdriesen@hotmail.com.invalid> - 2011-09-06 18:48 +0200
      Re: Thread safe logging (or protecting global variables) Edek <edek.pienkowski@gmail.com> - 2011-09-07 10:34 +0200
        Re: Thread safe logging (or protecting global variables) Jef Driesen <jefdriesen@hotmail.com.invalid> - 2011-09-08 22:00 +0200
          Re: Thread safe logging (or protecting global variables) Edek <edek.pienkowski@gmail.com> - 2011-09-09 18:13 +0200
            Re: Thread safe logging (or protecting global variables) Jef Driesen <jefdriesen@hotmail.com.invalid> - 2011-09-13 17:58 +0200
              Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-13 13:18 -0700
                Re: Thread safe logging (or protecting global variables) Jef Driesen <jefdriesen@hotmail.com.invalid> - 2011-09-14 07:16 +0200
                Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-14 13:18 -0700
                Re: Thread safe logging (or protecting global variables) Edek <edek.pienkowski@gmail.com> - 2011-09-14 09:33 +0200
                Re: Thread safe logging (or protecting global variables) Alexander Terekhov <terekhov@web.de> - 2011-09-14 13:17 +0200
                Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-14 13:03 -0700
                Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-14 13:19 -0700
                Re: Thread safe logging (or protecting global variables) "James" <no@spam.invalid> - 2011-09-14 19:19 -0700
                Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-14 21:03 -0700
                Re: Thread safe logging (or protecting global variables) Alexander Terekhov <terekhov@web.de> - 2011-09-15 13:12 +0200
                Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-15 12:24 -0700
                Re: Thread safe logging (or protecting global variables) Alexander Terekhov <terekhov@web.de> - 2011-09-15 22:22 +0200
                Re: Thread safe logging (or protecting global variables) "James" <no@spam.invalid> - 2011-09-15 13:33 -0700
                Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-15 15:36 -0700
                Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-15 15:36 -0700
                Re: Thread safe logging (or protecting global variables) Alexander Terekhov <terekhov@web.de> - 2011-09-16 16:28 +0200
                Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-16 15:06 -0700
                Re: Thread safe logging (or protecting global variables) Alexander Terekhov <terekhov@web.de> - 2011-09-17 12:50 +0200
                Re: Thread safe logging (or protecting global variables) Alexander Terekhov <terekhov@web.de> - 2011-09-15 12:50 +0200
              Re: Thread safe logging (or protecting global variables) Edek <edek.pienkowski@gmail.com> - 2011-09-14 09:17 +0200
  Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-08 16:28 -0700
    Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-08 16:33 -0700
      Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-08 20:55 -0700
    Re: Thread safe logging (or protecting global variables) Joshua Maurice <joshuamaurice@gmail.com> - 2011-09-12 00:45 -0700

csiph-web