PATCH for perl-5.8.4
Edward S. Peschko [Mon, 19 Jan 2004 17:21:18 +0000 (09:21 -0800)]
From:  "Edward S. Peschko" <esp5@pge.com>
Message-Id:  <20040120012118.GA29151@mdssdev05.comp.pge.com>

Add @DynaLoader::dl_shared_objects feature

p4raw-id: //depot/perl@22191

ext/DynaLoader/DynaLoader_pm.PL

index 3fe9f88..270cd7e 100644 (file)
@@ -80,6 +80,7 @@ $Is_MacOS  = $^O eq 'MacOS';
 my $Mac_FS;
 $Mac_FS = eval { require Mac::FileSpec::Unixish } if $Is_MacOS;
 
+@dl_shared_objects  = ();       # shared objects for symbols we have 
 @dl_require_symbols = ();       # names of symbols we need
 @dl_resolve_using   = ();       # names of files to link with
 @dl_library_path    = ();       # path to look for files
@@ -339,6 +340,9 @@ print OUT <<'EOT';
     my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file);
 
     # See comment block above
+
+       push(@dl_shared_objects, $file); # record files loaded
+
     &$xs(@args);
 }
 
@@ -555,6 +559,7 @@ DynaLoader Interface Summary
   $dl_debug
   @dl_librefs
   @dl_modules
+  @dl_shared_objects
                                                   Implemented in:
   bootstrap($modulename)                               Perl
   @filepaths = dl_findfile(@names)                     Perl
@@ -630,6 +635,10 @@ the loaded files.
 
 An array of module (package) names that have been bootstrap'ed.
 
+=item @dl_shared_objects
+
+An array of file names for the shared objects that were loaded.
+
 =item dl_error()
 
 Syntax: