[Mono-dev] AppDomain from unmanaged code and handle_thunk
joe at otee.dk
Fri May 5 20:08:32 EDT 2006
We are embedding mono in our application, whenever a user changes a C# file
we recompile and reload the assembly. Whenever i reload an assembly i want
to create a new AppDomain and activate it.
The problem is i need to do this or at least start the process from c code.
Optimally i want to:
1. Unload the old app domain
2. Create a new app domain
3. Load all assemblies into it
4. Execute some code in it
5. When the user changes a C# file, repeat the whole processs.
At the moment i am calling a C# function from C which will simply create a
new apdomain using AppDomain.CreateDomain("UnityRuntime");
Then i activate the app domain from c code using:
That works fine in most cases but i sometimes get an abort in mini-ppc.c
if (pdata.found != 1)
g_print ("thunk failed for %p from %p\n", target, code);
g_assert (pdata.found == 1);
I am wondering what does this abort mean?
Since the code works fine if i don't create and activate those domains, i
presume there is something wrong with how i activate the domain.
I tried a lot of different ways of activating the domain most of which just
crashed in random places and this one got me farthest.
What is the recommended way of activating/creating/unloading an appdomain
from c code?
More information about the Mono-devel-list