[Mono-dev] Foreing thread lifecycle tracking

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


I am starting this thread in order to find a solution to an issue
encountered with Mono and described in this bug entry

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
- 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-devel-list mailing list