[Mono-list] Mono and Win32 fibers

Jonathan Pryor jonpryor at vt.edu
Fri Jul 29 06:51:57 EDT 2005


On Thu, 2005-07-28 at 19:51 -0700, Bruce Wilkie wrote:
> has anyone gotten this to work?  I'd love tips. 
> Currently, using Mono with fibers (embedding in a
> Win32 app) will crash when executing managed code from
> the fiberproc.

It's unlikely to ever work.  Please read the "Dire warnings about
fibers" section at:

	http://blogs.msdn.com/oldnewthing/archive/2004/12/31/344799.aspx

See also:

	http://blogs.msdn.com/larryosterman/arcihve/2005/01/05/347314.aspx

In short, 
 1. You can't use Fibers from a shared library
 2. You can't use Exceptions (meaning you can't use any of the standard 
    class library)
 3. You can't use any APIs which have thread affinity (meaning you can't
    use most of the class library or Win32)
 4. All your code must be "fiber safe" -- a level of safety even beyond
    thread safety.

I believe it's similarly difficult/impossible to use Fibers from .NET,
for precisely the same reasons.

 - Jon




More information about the Mono-list mailing list