david@indetech.com (David Kuder) (02/28/90)
Some while ago there was some discussion in this news group
about implementing semaphores on machines that did not have
an atomic test and set instruction. I read the discussion
with some interest but since I had no need for the
algorithm it went into the bit-bucket.
Now I suddenly find myself going from "zero" to "many" on
the "zero, one, many" counting scale. So rather than
extract a work around from a single vendor I thought I'd
seek out the general solution. A quick scan of the
references that I have at hand didn't scare up the
algorithm. Finally, the request: what is a reference that
gives the algorithm or what does the psuedo code for the
algorithm look like? E-mail answers and I'll summarize.
Thanks in advance,
--
David A. Kuder Now what coach?
415 438-2003 david@indetech.com {uunet,sun,sharkey,pacbell}!indetech!davidlm@snafu.Sun.COM (Larry McVoy) (03/01/90)
In article <1990Feb28.014717.16596@indetech.com> david@indetech.com (David Kuder) writes: >Some while ago there was some discussion in this news group >about implementing semaphores on machines that did not have >an atomic test and set instruction. I read the discussion >with some interest but since I had no need for the >algorithm it went into the bit-bucket. I missed the discussion, so maybe this has been pointed out already: be careful of using an algorithm that depends on the order of memory stores (like Dekker's). Current and future machines have this nasty habit of reordering the stores w/o your knowledge. They typically provide some way for you to say "flush everything before letting the next store go out" but they don't (can't) detect when you need this and do it for you. --- What I say is my opinion. I am not paid to speak for Sun, I'm paid to hack. Besides, I frequently read news when I'm drjhgunghc, err, um, drunk. Larry McVoy, Sun Microsystems (415) 336-7627 ...!sun!lm or lm@sun.com