[Mono-devel-list] Implimentation Details

Dick Porter dick at ximian.com
Mon Nov 10 09:20:47 EST 2003

On Fri, 2003-11-07 at 18:50, rshade at dvsconsulting.com wrote:
> I'm attempting to dive into the mono runtime in order to fix problems i'm
> having with running under OSX.  I'm looking to see if there is any
> documentation on the implementation of the runtime, specifically what the
> handles daemon is used for and what the repercussions of it not being able
> to be started or use shared memory.

The handle daemon serialises access to the shared memory holding the
internal representation of w32 HANDLEs (ie file, thread, or process
handles.)  It's done this way to avoid having to lock parts of the
shared memory, with all the problems that would have if processes left
locks active.

If the daemon cannot run, it means that HANDLEs will not be shared
between processes (which in itself isn't a huge issue yet) and
Process.Start() will not work.

> >From what I've seen so far, it seems like this daemon is responsible for
> retrieving objects from the GC, but i could be totally wrong.

It has nothing to do with GC in any way.

- Dick

More information about the Mono-devel-list mailing list