[Info-vax] Volatile, was: Re: yet another sys$qiow question
Bob Gezelter
gezelter at rlgsc.com
Thu Aug 20 11:00:04 EDT 2015
On Thursday, August 20, 2015 at 10:53:01 AM UTC-4, JF Mezei wrote:
> On 15-08-20 10:45, Craig A. Berry wrote:
> > On 8/20/15 8:54 AM, JF Mezei wrote:
> >> So, after reading this, I am still puzzled...
> >>
> >> in DEC-C, how does one declare a variable as "volatile" ?
> >
> > As with any C compiler, using the "volatile" keyword, obviously:
>
> This is the first I ever heard of it, or seen it. And been doing $QIOs
> since late 1980s. Pretty scary eh ?
JF,
Actually, not.
The standard way (as Hoff has said) is to either use an event flag or an AST. Either of these work as defined, and the OpenVMS IO Post processing is responsible for ensuring that your memory is in a consistent state when the IO is "completed".
The problem arises when one checks the contents of an IOSB upon which one has not received one of the normal completion indicators (e.g, spinning on the IOSB contents; checking to see if other IO's have completed when receiving an AST on a different IO).
- Bob Gezelter, http://www.rlgsc.com
More information about the Info-vax
mailing list