[Info-vax] yet another sys$qiow question
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Fri Aug 21 14:07:07 EDT 2015
On 2015-08-21 16:26:04 +0000, Craig A. Berry said:
> ...it also says it's not the preferred method and recommends using
> SYS$SYNCH instead. So it would also be a fair reading of the manual to
> say it recommends against the polling method even though it includes an
> example of it. I wish it would say "don't do that" a bit more strongly.
Waffle-wording these changes is a longstanding tradition for OpenVMS;
recommendations that don't have any requirements.
Forever-upward-compatibility is theoretically quite wonderful, but
empirically rather more of a disaster, as the old cruft and the costs
and the code complexity inevitably accrete. For those few cases where
incompatible changes are required and for whatever reason, I'd prefer
to see engineering provide the improvements and a documented migration
path for existing code, announce the deprecation schedule, nuke and
remove the old APIs as appropriate, and move on.
But then — and with no small amount of irony — the deprecated-features
manual was itself deprecated.
> The only thing the discussion of volatile has added is yet another
> reason not to do it that way.
Unfortunately and AFAICT, omitting volatile for any of the completion
paths means that any of the IOSB paths can potentially pick up a bogus
value. That seems very unlikely, but it is permissible behavior for
the compilers. Ways out: use of volatile either by the user or via the
system-provided declarations, language extensions for the IOSB, or
gonzo-grade compiler heuristics. Only the lattermost avoids source
changes. Or notice from VSI that the classic $synch approaches works,
and that the compiler does "the right thing" for the IOSB, where all of
this adventure disappears in a puff of greasy orange moot.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list