[Info-vax] VMS enhancement suggestion: Add a "read regardless" file open option.
geze...@rlgsc.com
gezelter at rlgsc.com
Mon Nov 9 23:47:49 EST 2020
On Monday, November 9, 2020 at 8:46:52 PM UTC-5, Hein RMS van den Heuvel wrote:
> On Monday, November 9, 2020 at 5:35:32 PM UTC-5, Tom Wade wrote:
> > On 2020-11-09 13:30, Simon Clubley wrote:
> > > On RSTS/E, you can view the contents of a file opened for write by
> > > specifying mode 4096 as in:
> > >
> > > pip filename.dat/mo:4096
> > >
> > > What would be involved in adding a "read regardless" file open option
> > > to VMS which would allow the opening of files for read only even if
> > > they are already open for write, and then adding a qualifier to $ TYPE
> > > to use this new option ?
> > If you want to read files that are locked by another process, check out
> > the Ralf utility at www.tomwade.eu/software
> >
> > Ralf is written as a callable utility, but has a command line PEEK
> > [/page] program that displays a locked file. We used it extensively to
> > examine PMDF message files that were being processed (and therefore locked).
> >
> >
> > Tom Wade
> > tom dot wade at tomwade dot eu
> Well, it will only be partially useful as many such files write-no-share file are written by RMS or an RTL actively buffering data to be written in incomplete chucks.
> RMS by default could have an 8KB or 16 KB buffer only written when full. The most recent record will only exist in process memory. RMS has a minor backdoor to try an flush on exit, but I don't think there is a way to jiggle that conditions. So it could all be very disappointing.
>
> You can verify with BACK/IGNORE=INTERLOCK whether it would or would not sufficiently solve a good part of the business needs.
> I hope it is clear it will not at all be what folks expect and very hard to explain.
>
> To properly solve this and similar problem you really need a system buffer.
> RMS/VMS engineering spend upwards of 2 manyears to define 'stream' file access back in the 90ies but nothing practical transpired.
> I believe most solution still ended up with the applications needing to 'do' something, which is the very thing that we all want to avoid.
>
> As Brian says it may be easier hack the applications (Patch!) to initialize the fabs with sharing option and take the 'hit' of the locking overhead.
>
> Cheers,
> Hein
Hein,
I concur with You, Hoff, and Mike. It is difficult to well-define the desired functionality,
However, the OUTPUT_RATE on batch log files is a reasonable compromise. It is not too complex to implement an equivalent functionality, using a timer AST to flush out buffers and update end-of-file in an orderly fashion.
The drawback is that it is a library/source code change, and cannot be imposed after the fact on a running or pre-built image, although one could write an intercept for the various RMS calls.
- Bob Gezelter, http://www.rlgsc.com
More information about the Info-vax
mailing list