Re: [ros-users] Draft REP: Automatic unloading of libraries …

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: Re: [ros-users] Draft REP: Automatic unloading of libraries for pluginlib
While I like boost::shared_ptr, it is not always possible to use it nicely.

In rviz I have plugin classes which are subclasses of QWidget (from Qt GUI
library). These objects are automatically deleted by Qt when their parent
widgets are deleted. I can be notified of their deletion by Qt, and call
an "unload" or "decrement-reference-count" function, but it is not easy to
use these QWidget pointers inside boost::shared_ptr without getting
double-deletion crashes.

pluginlib::ClassLoader could have two interfaces, one which gives a
shared_ptr and manages the reference count for the library itself, and
another which gives a raw pointer and increments the ref count and also has
a decrement-ref-count function.

Dave

On Mon, Feb 6, 2012 at 4:44 PM, Dirk Thomas <>wrote:

> Hello all,
>
> attached is a draft specifying a minor enhancement to pluginlib which
> revises the load/create/unload life cycle of libraries.
>
> It enables automatic bookkeeping of created instance and automatically
> triggers unloading the library when the last instance goes out of scope.
> The proposal deprecates one existing method which can lead to difficult
> usage pattern (ranging from never unloading a library to unloading a
> library while it is still in use).
>
> The HTML version will be available soon:
> http://ros.org/reps/rep-0121.**html <http://ros.org/reps/rep-0121.html>
>
> Please send comments, questions or feedback.
> Due to the small scope I am also asking for your vote (according to the
> guidelines stated at http://www.ros.org/reps/rep-**0010.html<http://www.ros.org/reps/rep-0010.html>
> ).
>
> Best regards,
> Dirk
>
> _______________________________________________
> ros-users mailing list
>
> https://code.ros.org/mailman/listinfo/ros-users
>
>