[gclist] Boehm's GC and multi-threaded libraries

Dean Brettle brettle@picard.jmb.bah.com
Mon, 13 Jan 1997 19:18:29 -0500

Hi all,

I am new to the list and GC in general. So please forgive me if this
question is inappropriate.

We are considering using Boehm's GC for a project which will run under
IRIX 6.2.  The code we will be writing will not be multi-threaded,
however we do plan to use SGI's ImageVision libraries.  These libraries
can "transparently" take advantage of multi-processor SGI platforms,
presumably using sproc threads.  The question is:

Assuming the threads only exist during calls into the libraries, can we
safely use Boehm's GC in _incremental_ mode for our classes? 

The README.sgi indicates that "sproc threads are not supported" and
"pthreads are somewhat somewhat supported without incremental
collection", but I'm not sure if these apply if the threads exist only
in libraries.  I'm betting the answer is something like:

It will work fine as long as we don't use -DREDIRECT_MALLOC because if
we use -DREDIRECT_MALLOC, any malloc's in the library will call the GC
in a multi-threaded environment.  Is this right?