On Tuesday, October 14, 2008, at 08:41AM, "Vorländer, Martin" <[EMAIL PROTECTED]> wrote: >Hi everybody! > >Has anybody here tried to install Apache::ASP with HP's 5.8.6 distribution? > >As far as I can see, it tries to use MLDBM for (state data) storage, >wrapped in MLDBM::Sync for multi-process access. And that one is too >unixy for VMS, I suppose (it uses flock(), and generates lots of errors >during MMS TEST, naturally). > >Any hints?
I haven't tried what you're doing, but Perl 5.10 on VMS 8.3 or later supports flock() via emulation using the locking flags of fcntl(). That's probably the only way this would have a prayer of working out of the box. There is also always the traditional answer to the question, "How do you lock a file on VMS?" Answer: "Open it.' That can be made as explicit as you like with: my $fh = VMS::Stdio::vmsopen('file.dat', 'shr=nil'); If you're not having enough fun yet you could try writing your own MLDBM::Sync that subclasses VMS::IndexedFile and uses RMS record locks, but I'm not at all sure you get fine enough control of record-level locking that way.