oaf_plugin_unuse can't possibly work!



For each object produced by a shared library server, the server is
supposed to call oaf_plugin_unuse when the object is destroyed. This
keeps a hidden refcount for the shlib server. Once the refcount goes
to zero, the shlib is unloaded. However, once we return back from
oaf_plugin_unuse to the stack frame of the function that called it, we
get a SEGV because we return to code that just got unmapped.

Elliot, do you have some ingenious solution for this? Is this just
broken as designed? Maybe oaf_plugin_unuse should only schedule an
unload in an idle handler rather than doing it immediately, so it has
a stack frame to return to?

 - Maciej






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]