#1340: Parrot may end up calling dlclose() twice with the same handle, ref.
t/pmc/threads.t test 14
---------------------+------------------------------------------------------
Reporter: heidnes | Type: bug
Status: new | Priority: normal
Milestone: | Component: none
Version: 1.8.0 | Severity: medium
Keywords: dlclose | Lang:
Patch: | Platform: netbsd
---------------------+------------------------------------------------------
Comment(by doughera):
Replying to [comment:1 heidnes]:
> Hmm, this may have to do with the "clone library" functionality, which
appears to create two copies of a shared library, which however share the
dlhandle(), ref. the clone() function. Things go wrong when the second
instance is destroy()ed. This happens in code which comes from
src/pmc/parrotlibrary.pmc's destroy() and clone() functions, I suspect.
It is permissible to call dlclose() twice on the same handle, if the
shared object has been dlopen()-ed twice. The two calls to dlopen() will
both return the same handle.
I don't know what, exactly, parrot means by "clone" on a shared object,
but if the clone method simply called dlopen() again, the multiple calls
to dlclose() would probably work as intended.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1340#comment:2>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets