#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

Reply via email to