At 09:39 PM 3/10/00 -0700, Eric F. Richards wrote:
>(Pardon the delayed comments... I'm several thousand (!) emails behind
>at the moment.)
>
>I finally can delurk and contribute, sort of!
>
>At 04:59 PM 3/9/00 -0500, Dan Sugalski wrote:
> >At 04:12 PM 3/9/00 -0500, Charles Bailey wrote:
> >
> >>Dan Sugalski <[EMAIL PROTECTED]> wrote:
> >>| >1. flock()  (don't semantics differ; eg, mandatory?)
> >>| | Nope. VMS has mandatory filelocking, enforced by the filesystem.
> >>
> >>flock() isn't a native part of VMS, though some emulations exist. RMS
> >>locking (the intrinsic stuff) is mandatory (unless you bypass it with
> >>raw I/O calls) and record-oriented.
> >
> >That's a pretty low-level bypass, though. IIRC you have to request actual
> >disk blocks, which requires PHY_IO or LOG_IO privs.
> >
>
>Not necessary in both cases.  Use SYS$READ and SYS$WRITE for block I/O
>with the BIO (block I/O) or BRO (block and record I/O) options set in
>the RAB.  No privs needed, but you get raw disk blocks, no interpretation.
>
>To disable locking, play with the various flags UPI (user provided interlock),
>RRL (read regardless of lock), NLK (no locking) options.  Naturally, my
>manuals are in the inconviently powered-down office, and my memory is lost
>somewhere with my youth, so you'll have to dig on these further (or ask
>me to do so) for more specific info.

Hmmm. That could be useful for stream files at least. We'd need to rewrite 
the C stdio library or provide a VMS::QIO module. (Which would, in itself, 
be nifty)

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to