Opened 12 years ago

Closed 12 years ago

#4957 closed defect (fixed)

dlopen() needs a dlclose() for the dynlib handle to be given up

Reported by: Erik Hovland <erik@…> Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: low Keywords:
Cc: Ticket locked: no

Description

In filtermanager.cpp there is a call to dlopen(). There is no corresponding call to dlclose(). The dynlib will be ref count incremented on the dlopen(). So the handle will never be reclaimed unless the count is decremented by the dlclose().

Closing the dynlib handle does not mean the symbol is closed too. Only that the ref count on the dynlib is decremented. When the symbol is closed the handle will eventually have a ref count of zero and the handle will be reclaimed.

Attachments (1)

libs_libmythtv_filtermanager.cpp-dlcose-dl.patch (947 bytes) - added by Erik Hovland <erik@…> 12 years ago.
does a dlcose at the end of the LoadFilterLib?() member function

Download all attachments as: .zip

Change History (3)

Changed 12 years ago by Erik Hovland <erik@…>

does a dlcose at the end of the LoadFilterLib?() member function

comment:1 Changed 12 years ago by danielk

Owner: changed from Isaac Richards to danielk
Status: newassigned

comment:2 Changed 12 years ago by danielk

Resolution: fixed
Status: assignedclosed

(In [17232]) Fixes #4957. This removes most of the Qt3 stuff from the filter manager, adds some error reporting and makes sure external filter libraries are closed when we are done with them.

Note: See TracTickets for help on using tickets.