[Mono-osx] Foreing thread lifecycle tracking

Laurent Etiemble laurent.etiemble at monobjc.net
Tue Dec 8 12:21:22 EST 2009


Hello,

I am starting this thread in order to find a solution to an issue
encountered with Mono and described in this bug entry
(https://bugzilla.novell.com/show_bug.cgi?id=537764).

Short Summary: On Mac OS X, Mono is using POSIX pthread functions to
hook to TSD (Thread Specific Data) in order to track the lifecycle of
foreign thread (thread not created by the Mono runtime). Under some
circumstances, a native-to-managed call can lead to inconsistent state
in the Garbage Collector.

As recommended by Geoff, I am starting a discussion about new public
API to support the notification of thread death/creation in the Mono
runtime:
- How thread tracking can be done so Mono does not miss thread death ?
- What about providing callback functions that override Mono default
behavior ? They will be set during the Mono bootstrapping.

Any comments or ideas are welcome.

Regards, Laurent Etiemble.


More information about the Mono-osx mailing list