Re: [Mono-dev] Embedding Mono: multiple calls to mono_jit_init

2011-05-16 Thread MartinAlexander
Thanks, I will try the dynamic loading. Global variables are gone after my driver is restarted from the host application. -- View this message in context: http://mono.1490590.n4.nabble.com/Embedding-Mono-multiple-calls-to-mono-jit-init-tp3519842p3525805.html Sent from the Mono - Dev mailing

[Mono-dev] Embedding Mono: multiple calls to mono_jit_init

2011-05-13 Thread MartinAlexander
Hello, Calling mono_jit_init several times is not supported as discussed in other forum posts, but my question is why? Is it a bug that have plans to be solved? Or is it a problem with the Linux architecture? My problem is that I am writing a DLL which is called from an closed-source commercial

Re: [Mono-dev] Embedding Mono: multiple calls to mono_jit_init

2011-05-13 Thread Zoltan Varga
Hi, Supporting this would be a _lot_ of work, the most basic problem is that the runtime depends on non-automatic C variables being 0 initialized on startup. You can support this in your app by putting the runtime into a linux shared library (.so) and loading/unloading the shared library

Re: [Mono-dev] Embedding Mono: multiple calls to mono_jit_init

2011-05-13 Thread MartinAlexander
How do you mean? I think this is what I am doing now . I admit I was unclear but the commercial application is written in native C++ and calls my native library (dll/so). In OnInit I call mono_jit_init and in OnUninit I call mono_jit_cleanup. -- View this message in context:

Re: [Mono-dev] Embedding Mono: multiple calls to mono_jit_init

2011-05-13 Thread Zoltan Varga
You need to use mono's shared library libmono.so, and somehow make the OS load/unload it. Its not easy to do, but doable. Zoltan On Fri, May 13, 2011 at 2:43 PM, MartinAlexander martin.arvids...@gmail.com wrote: How do you mean? I think this is what I am doing now .

Re: [Mono-dev] Embedding Mono: multiple calls to mono_jit_init

2011-05-13 Thread Ivo Smits
Wikipedia described how this can be done: http://en.wikipedia.org/wiki/Dynamic_loading#In_C.2FC.2B.2B It's not so difficult at all. You just need to create function pointer variables for the functions you want to call, then use dlopen(...) to open the mono library, and dlsym(...) to lookup a