9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Thomas Bushnell, BSG" <tb+usenet@becket.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] plan or side effect
Date: Thu, 28 Feb 2002 16:52:54 +0000	[thread overview]
Message-ID: <87g03lh7qc.fsf@becket.becket.net> (raw)
In-Reply-To: <Gs90KD.Iuw@arl.army.mil>

"AMSRL-CI-CN" <gwyn@arl.army.mil> writes:

> "Thomas Bushnell, BSG" <tb+usenet@becket.net> wrote in message
> news:87u1s2y1uu.fsf@becket.becket.net...
> > In the presence of concurrence, even this is not sufficient, because a
> > different thread could clobber the value.  However, C does not
> > guarantee synchronization in this case unless the variable is marked
> > "volatile".
> 
> Actually the C standard does not address threads at all.
> It is nice that "volatile" helps, but I'm sure it doesn't totally
> solve the concurrent data access problem for threads.

No, certainly not!  I misspoke.  I shouldn't have said
"synchronization", which does imply more, and certainly you still need
mutexes or semaphores or something.

"volatile" is a declaration to the compiler that the value could be
changing at any time, unbeknownst to the compiler, and so values can't
be cached in registers.  

If "acquire mutex" is a function call, then you don't even need to
declare the variable volatile, since the compiler knows that the
function call could clobber all of memory.  So it isn't even necessary
for threads, if you *are* using mutexes, and for other reasons you
certainly do need to.  So the reference to threads was a needless
confusion; sorry.

Thomas


  reply	other threads:[~2002-02-28 16:52 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-27 15:08 presotto
2002-02-27 15:27 ` Sean Quinlan
2002-02-28  9:58   ` Thomas Bushnell, BSG
2002-02-28 12:51     ` Ralph Corderoy
2002-02-28 16:57       ` Thomas Bushnell, BSG
2002-02-28 16:01     ` AMSRL-CI-CN
2002-02-28 16:52       ` Thomas Bushnell, BSG [this message]
2002-02-28 17:41 David Gordon Hogan
2002-03-01 10:02 ` Thomas Bushnell, BSG
2002-03-01 12:07   ` Boyd Roberts
2002-03-04 10:04     ` Thomas Bushnell, BSG
2002-03-04 17:11       ` Sean Quinlan
2002-03-04 18:23       ` ozan s yigit
2002-03-05  9:41         ` Thomas Bushnell, BSG
2002-03-05  9:56           ` Boyd Roberts
2002-03-05  9:43       ` Boyd Roberts
2002-03-08 17:30         ` Thomas Bushnell, BSG
2002-03-08 18:00           ` Dan Cross
2002-03-11 10:04             ` Ralph Corderoy
2002-03-11 10:04             ` Thomas Bushnell, BSG
2002-03-01 11:57 ` Boyd Roberts
2002-03-01 11:35 forsyth
2002-03-05  9:54 Fco.J.Ballesteros
2002-03-06  9:51 ` Thomas Bushnell, BSG
2002-03-06  9:52 ` Douglas A. Gwyn
2002-03-08  9:59   ` ozan s. yigit
2002-03-06 10:24 geoff
2002-03-07  9:56 ` Douglas A. Gwyn
2002-03-07 13:45 rob pike
2002-03-07 15:47 ` AMSRL-CI-C
2002-03-08 19:22 forsyth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87g03lh7qc.fsf@becket.becket.net \
    --to=tb+usenet@becket.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).