FileCache 1.03 broken on VMS -- possible patch
Craig A. Berry [Sat, 21 Jun 2003 10:31:59 +0000 (05:31 -0500)]
From: "Craig A. Berry" <craigberry@mac.com>
Message-ID: <3EF47A6F.9060904@mac.com>

p4raw-id: //depot/perl@19839

lib/FileCache.pm
lib/FileCache/t/01open.t
lib/FileCache/t/03append.t
lib/FileCache/t/05override.t

index 2386532..8e1fe44 100644 (file)
@@ -72,6 +72,7 @@ unless you terminated before repeatedly calling cacheout.
 
 require 5.006;
 use Carp;
+use Config;
 use strict;
 no strict 'refs';
 # These are not C<my> for legacy reasons.
@@ -88,7 +89,9 @@ sub import {
     *{$pkg.'::close'}    = \&cacheout_close;
 
     # Reap our children
-    @{"$pkg\::SIG"}{'CLD', 'CHLD', 'PIPE'} = ('IGNORE')x3;
+    ${"$pkg\::SIG"}{'CLD'}  = 'IGNORE' if $Config{sig_name} =~ /\bCLD\b/;
+    ${"$pkg\::SIG"}{'CHLD'} = 'IGNORE' if $Config{sig_name} =~ /\bCHLD\b/;
+    ${"$pkg\::SIG"}{'PIPE'} = 'IGNORE' if $Config{sig_name} =~ /\bPIPE\b/;
 
     # Truth is okay here because setting maxopen to 0 would be bad
     return $cacheout_maxopen = $args{maxopen} if $args{maxopen};
index d516aea..dfbb7b0 100644 (file)
@@ -2,7 +2,7 @@
 use FileCache;
 use vars qw(@files);
 BEGIN {
-    @files = qw(foo bar baz quux Foo'Bar);
+    @files = qw(foo bar baz quux Foo_Bar);
     chdir 't' if -d 't';
 
     #For tests within the perl distribution
index 5a08a1e..07edb7a 100644 (file)
@@ -2,7 +2,7 @@
 use FileCache maxopen=>2;
 use vars qw(@files);
 BEGIN {
-    @files = qw(foo bar baz quux Foo'Bar);
+    @files = qw(foo bar baz quux Foo_Bar);
     chdir 't' if -d 't';
 
     #For tests within the perl distribution
index 6fdf873..a807c25 100644 (file)
@@ -8,12 +8,12 @@ BEGIN {
     END;
 }
 END{
-  unlink("Foo'Bar");
+  unlink("Foo_Bar");
 }
 print "1..1\n";
 
 {# Test 5: that close is overridden properly within the caller
-     cacheout local $_ = "Foo'Bar";
+     cacheout local $_ = "Foo_Bar";
      print $_ "Hello World\n";
      close($_);
      print 'not ' if fileno($_);