On 22 Mar 2000 16:01:55 +0100, Ulrich Pfeifer wrote: >>>>>> "Uli" == Ulrich Pfeifer <pfeifer@wait.de> writes: > > Uli> I'll build a debugging version of perl now .... > ,----- > | > | Does not reveal too much: > | > | 223 void * libref = INT2PTR(void *,SvIV(ST(0))); > | (gdb) n > | 225 dXSTARG; > | (gdb) x libref > | 0x8218c50: 0x401a0000 > | (gdb) n > | Cannot access memory at address 0x406cd014. > | (gdb) where > | #0 0x4000a43d in _dl_debug_state () from /lib/ld-linux.so.2 > | #1 0x4014d2af in _dl_close () from /lib/libc.so.6 > | #2 0x400663b7 in dlopen () from /lib/libdl.so.2 > | #3 0x4000a145 in _dl_catch_error () from /lib/ld-linux.so.2 > | #4 0x4006693e in dlerror () from /lib/libdl.so.2 > | #5 0x400663dd in dlclose () from /lib/libdl.so.2 > | #6 0x805a4c9 in XS_DynaLoader_dl_unload_file (cv=0x818ef5c) > | at DynaLoader.xs:202 FYI. Sarathy gsar@ActiveState.com -----------------------------------8<----------------------------------- Change 5885 by gsar@auger on 2000/03/22 18:41:50 make unloading of extension shared objects (change#5381) a build option (use "Configure -Accflags=-DDL_UNLOAD_ALL_AT_EXIT" to enable) Affected files ... ... //depot/perl/ext/DynaLoader/dlutils.c#17 edit ... //depot/perl/pod/perldelta.pod#199 edit Differences ... ==== //depot/perl/ext/DynaLoader/dlutils.c#17 (text) ==== Index: perl/ext/DynaLoader/dlutils.c --- perl/ext/DynaLoader/dlutils.c.~1~ Wed Mar 22 10:41:56 2000 +++ perl/ext/DynaLoader/dlutils.c Wed Mar 22 10:41:56 2000 @@ -69,7 +69,9 @@ if (!dl_loaded_files) dl_loaded_files = newHV(); /* provide cache for dl_*.xs if needed */ #endif +#ifdef DL_UNLOAD_ALL_AT_EXIT call_atexit(&dl_unload_all_files, (void*)0); +#endif } ==== //depot/perl/pod/perldelta.pod#199 (text) ==== Index: perl/pod/perldelta.pod --- perl/pod/perldelta.pod.~1~ Wed Mar 22 10:41:56 2000 +++ perl/pod/perldelta.pod Wed Mar 22 10:41:56 2000 @@ -1484,6 +1484,16 @@ The Dumpvalue module provides screen dumps of Perl data. +=item DynaLoader + +DynaLoader now supports a dl_unload_file() function on platforms that +support unloading shared objects using dlclose(). + +Perl can also optionally arrange to unload all extension shared objects +loaded by Perl. To enable this, build Perl with the Configure option +C<-Accflags=-DDL_UNLOAD_ALL_AT_EXIT>. (This maybe useful if you are +using Apache with mod_perl.) + =item Benchmark Overall, Benchmark results exhibit lower average error and better timing @@ -1852,6 +1862,11 @@ a two-element list containing the fully qualified directory name and the filename. See L<Win32>. +=item XSLoader + +The XSLoader extension is a simpler alternative to DynaLoader. +See L<XSLoader>. + =item DBM Filters A new feature called "DBM Filters" has been added to all the End of Patch.Thread Previous | Thread Next