I have a program codenamed foo . foo depends on common.so and is related to it in the usual way (sorry, I donβt know the technical way to say this). When foo works, it dynamically loads bar.so with dlopen() . So far so good.
But, bar.so also depends on common.so . Will dlopen() reload common.so (from what I read, it recursively loads any required dependencies), or will it detect that it is already loaded? If he reloads it, can this cause problems in my program? Both foo and bar.so should see the changes in common.so that they make for static variables.
Perhaps I need to change the design or use -rdynamic (which I still don't understand well enough)?
source share