The unit test unit_plugin fails to pass due to a SIGSEGV being thrown when
a plugin that shares the same library as another plugin handle attempts to
unload its underlying library handle. Plugin is not aware that dl shares
the library references. Two steps can be taken here:
Correct the implementation of Wintermute::Plugin so that it's aware of
dl's nature. This is an opporunity to make it cross-platform using
libuv since the bindings are already there.
Correct the test to fully unload and reload libraries as we go. This is a
bandaid solution.
The unit test
unit_plugin
fails to pass due to aSIGSEGV
being thrown when a plugin that shares the same library as another plugin handle attempts to unload its underlying library handle.Plugin
is not aware thatdl
shares the library references. Two steps can be taken here:Wintermute::Plugin
so that it's aware ofdl
's nature. This is an opporunity to make it cross-platform usinglibuv
since the bindings are already there.Obviously, option 1 is the choice to be favored.