Piru wrote:
You've identified a number of issues with existing APIs that would indeed have to be addressed, but nothing that I would say kills the shared library system.
The MP issues I've listed are just part of the problem, more like annoyances, icky things you would need to fix all over the place. There are other similar issues that add to the workload, such as global variables being used on disk based libraries.
Each caller would need to get their own library base. Also, to allow static data (disk based libraries) you'd need to somehow clone the data hunks for each caller and handle the relocation. In all this would end up being closer to .so than the classical shared library system. Thus my claim that it would kill the shared library system (as we know it).
There are already libraries that provide each caller with their own base. Static data could be left in read-only shared memory. It is true that shared libraries would become even more like shared objects.
So the only bit that we're really disagreeing on is what constitutes "killing" the shared library system. Well that took a lot of posts to figure out. :lol:
So, to summarize a bit:
- Piru: I spent over seven years doing that kind of ____ and I certainly don't want to do it all again from scratch. Look at all the stuff you'd have to do.
- Hans: It's a big task, but not too big. Plus I'm a glutton for punishment. Let's make it happen.
Hans