X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=doc%2Fembedded-api;h=62c62c6180db0b446507abb38cb7665ad89fa632;hb=37908f265fc3ef2737261b0c28281a8389232183;hp=9347c0f219aec80f4835ee6144939184ed71eec1;hpb=c05310babad165284c4b52b3e002cb7d226b08ba;p=mono.git diff --git a/doc/embedded-api b/doc/embedded-api index 9347c0f219a..62c62c6180d 100755 --- a/doc/embedded-api +++ b/doc/embedded-api @@ -68,9 +68,20 @@ not interfere with code in other domains. This is useful if you want to host different applications in your program. - Then you can load an assembly containing code into the domain: + Now, it is necessary to transfer control to Mono, and setup + the threading infrastructure, you do this like this:
+ void *user_data = NULL; + + mono_runtime_exec_managed_code (domain, main_thread_handler, user_data); ++ + Where your main_thread_handler can load your assembly and execute it: + +
+ static void main_thread_handler (gpointer user_data) + { MonoAssembly *assembly; assembly = mono_domain_assembly_open (domain, "file.dll"); @@ -107,7 +118,7 @@ The Boehm GC system needs to catch your calls to the pthreads layer, so in each file where you use pthread.h you should - include thefile. + include the <gc/gc.h> file. * Exposing C code to the CIL universe