On Sunday, 3 April 2016 at 14:19:17 UTC, rikki cattermole wrote:
The link is there as a backup plan. I made the assumption that it may not be possible to have more than one D shared lib loaded during the lifetime. The idea is simple. Have a D shared lib that acts as a dynamic dispatch to the appropriate child process who will route the call to the function in question. The hooking into GetProcAddress allows having symbols that are not exported by the shared library that was loaded.

Anyway, at worse this architecture would allow quite fast reloading!

Have you actually tried doing this in practice and getting it to work?

Even with correct function signatures, you'd need more than just the types to correctly marshall the data between processes. RPC is generally done with a subset of types with well-defined serializations.

How would you even get GetProcAddress hooking working in this scenario? You wouldn't even know the number of arguments, much less their types!

Reply via email to