I'm attempting to work on a microthread message passing library in C# using mono. Since Mono 2.4 or so, apparently continuations (not yield) have been available under 'Mono.Tasklets'. However, these lack any documentation that I can find, and while my general use of them works, I get an occasional (but reproducable) crash that the debugger won't attach to.
My specific questions are:
Does anyone know what the Mark() function is, and where/when I need to call it? It seems to be a one-time initialization, but I don't know why that wouldn't be in the constructor then.
Are there limitations on using multiple continuations? I've discovered that you cannot pass a continuation to another thread, but it seems I can store multiple continuations and switch back and forth?