At 7:16 PM -0500 10/30/00, Peter J. Farley III wrote:
>At 02:58 PM 10/30/00 -0800, Peter Prymmer wrote:
><Snipped>
>>This was with the perl@7483 kit: the build was fine (no need to
>>mess with vms/vms_yfix.pl), but there were two test failures:
>>
>>[.lib]st-lock...........FAILED on test 1
>
>Peter, does VMS have the same lack of functionality for file locking 
>that DJGPP/DOS does (i.e., no working versions of flock or lockf or 
>fcntl(...,F_SETLK/W,...))?  If so, look at the changes I helped put 
>into both t/lib/st-lock.t and ext/Storable/Storable.pm for DJGPP. 
>Essentially, the changes made the locking versions of store/retrieve 
>and the tests for them no-ops if ($^O eq 'dos').  If VMS has the 
>same problem, it would be easy to add VMS to those no-op tests.

Thanks for the tip; I'll try to take a look at Storable and see if 
omitting locking seems like the right thing to do for VMS.

My punishment for not getting a patch out yet is having to explain 
again how all this works on VMS.  There's no flock() at all, nor, I 
believe lockf().  It usually doesn't matter because files are locked 
by default; if you want shared access you have specify it explicitly. 
fcntl() exists on some versions of the C RTL from the last two years 
or so, but it doesn't do F_SETLK/W.  It does have those defined in 
the header, but it doesn't do anything with them, thus fooling the 
test for them in pp_sys.c where it tries to see if fcntl() can 
emulate flock().  We should probably have something in configure.com 
that checks to see if (when fcntl exists) F_SETLK and F_SETLKW 
actually work and undef's them if not; this would make the test in 
pp_sys.c realize that fcntl() cannot emulate flock().


BTW, I get "All tests successful" with perl@7483 using DEC C V5.2-003 
on OpenVMS Alpha V7.1.  I do notice, however, that with perl -V its 
identity lags slightly behind:

   Locally applied patches:
         DEVEL7481

-- 
____________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

Reply via email to