On Friday, 6 September 2013 at 14:10:06 UTC, Iain Buclaw wrote:
On 6 September 2013 14:34, eles <e...@eles.com> wrote:
On Friday, 6 September 2013 at 10:43:38 UTC, Iain Buclaw wrote:

On 6 September 2013 10:35, eles <e...@eles.com> wrote:

*p=3;
a=*p;


'p' should be marked as 'shared' in this instance.

That will help, but it completely misleads. First, is not just about the data being shared, but it is about the hardware side-effect. If writing 3 to the *p register makes your front-panel LED to light up, you need to rely on the fact that 3 is written (for real) at that address. And written when you ask it to be, not some 5 minutes later, because the compiler detected that no other thread accesses that variable, so decided to cache it. 5 minutes later the plane could be already landed. Without survivors.

"Shared" synchronizes within the D world. There is a world outside the D world, and I mean the hardware.

Reply via email to