https://bugzilla.novell.com/show_bug.cgi?id=814250
https://bugzilla.novell.com/show_bug.cgi?id=814250#c7
--- Comment #7 from Jay Cornwall 2013-04-13 23:20:43 UTC ---
Created an attachment (id=535094)
--> (http://bugzilla.novell.com/attachment.cgi?id=535094)
Use dlopen/dlclose reference counting
The root cause of this problem is the dlobj_cache structure in dlmisc.c. Each
entry contains a reference to the dlopen() and dlsym() handles, but the
dlopen() handles are shared by multiple entries without corresponding calls to
dlopen().
When two cache entries which share a dlopen() value are cleaned up, dlclose()
is incorrectly called twice. OpenAL loads libasound by dlopen(), which
eventually (on the third dlclose) results in libasound being unloaded while its
code is being executed.
The attached patch delegates reference counting to dlopen/dlclose.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.