=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/gc/Attic/README.solaris2,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -p -r1.1.1.1 -r1.2 --- OpenXM_contrib2/asir2000/gc/Attic/README.solaris2 1999/12/03 07:39:09 1.1.1.1 +++ OpenXM_contrib2/asir2000/gc/Attic/README.solaris2 2000/12/01 09:26:10 1.2 @@ -37,13 +37,10 @@ a thread stack. If you know that you will only be run or later, it should be possible to fix this by compiling the collector with -DSOLARIS23_MPROTECT_BUG_FIXED. -Jeremy Fitzhardinge points out that there is a problem with the dlopen -replacement, in that startup code in the library is run while the allocation -lock is held. This appears to be difficult to fix, since the collector does -look at data structures maintained by dlopen, and hence some locking is needed -around the dlopen call. Defining USE_PROC_FOR_LIBRARIES will get address -space layout information from /proc avoiding the dlopen lock. But this has -other disadvanatages, e.g. mmapped files may be scanned. +Since 5.0 alpha5, dlopen disables collection temporarily, +unless USE_PROC_FOR_LIBRARIES is defined. In some unlikely cases, this +can result in unpleasant heap growth. But it seems better than the +race/deadlock issues we had before. If solaris_threads are used on an X86 processor with malloc redirected to GC_malloc, it is necessary to call GC_thr_init explicitly before forking the