From 639a8d383c2f186427a2524fa05f55fd53f6c886 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Mon, 6 Sep 2004 17:13:25 +0000 Subject: Synchronized with the web/ version svn path=/trunk/mono/; revision=33431 --- docs/embedded-api | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/embedded-api b/docs/embedded-api index 1fd739ae2ba..76f45f8be73 100644 --- a/docs/embedded-api +++ b/docs/embedded-api @@ -69,7 +69,16 @@ 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; @@ -112,6 +121,10 @@ layer, so in each file where you use pthread.h you should include the file. + If you can not do this for any reasons, just remember that you + can not store pointers to Mono Objects on the stack, you can + store them safely in the heap, or in global variables though + * Exposing C code to the CIL universe The Mono runtime provides two mechanisms to expose C code to -- cgit v1.2.3