Merge lp://staging/~thomas-voss/dbus-cpp/fix_service_and_object_lifetime into lp://staging/dbus-cpp

Proposed by Thomas Voß
Status: Needs review
Proposed branch: lp://staging/~thomas-voss/dbus-cpp/fix_service_and_object_lifetime
Merge into: lp://staging/dbus-cpp
Diff against target: 344 lines (+127/-32)
9 files modified
debian/libdbus-cpp3.symbols.32bit (+3/-4)
debian/libdbus-cpp3.symbols.64bit (+2/-3)
include/core/dbus/bus.h (+6/-5)
include/core/dbus/impl/object.h (+8/-0)
include/core/dbus/object.h (+2/-0)
include/core/dbus/service.h (+3/-0)
src/core/dbus/bus.cpp (+7/-16)
src/core/dbus/service.cpp (+8/-4)
tests/service_test.cpp (+88/-0)
To merge this branch: bzr merge lp://staging/~thomas-voss/dbus-cpp/fix_service_and_object_lifetime
Reviewer Review Type Date Requested Status
James Henstridge Approve
PS Jenkins bot continuous-integration Approve
Review via email: mp+212509@code.staging.launchpad.net

Commit message

Refactor dtor of dbus::Object to unregister from the underlying service.
Refactor dtor of dbus::Service to give up name ownership when an instance goes out of scope.

Description of the change

Refactor dtor of dbus::Object to unregister from the underlying service.
Refactor dtor of dbus::Service to give up name ownership when an instance goes out of scope.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
53. By Thomas Voß

Remove obsolete symbols for dbus::Bus::Name copy and move c'tors.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
54. By Thomas Voß

Also fix symbols for 32bit platforms.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
James Henstridge (jamesh) wrote :

Currently there are conflicts when merging this branch into trunk. The ones in bus.h/bus.cpp were trivial to fix so I went ahead and looked at the branch. There are also conflicts in the symbols file that need fixing.

From a dbus perspective, the changes look sensible. Switching from the raw dbus_bus_request_name() call in the Service::Service() constructor looks like it should also solve bug 1329211 too.

I'm definitely not a C++ master, but the rest of the branch looks okay. As this will require apps to be recompiled (e.g. adding a destructor to Object), I suppose it would be good to get this merged for the gcc 4.9 transition?

I'm marking this as needs fixing, but if the conflicts are addressed I'd be happy to see this merged.

review: Needs Fixing
55. By Thomas Voß

[ Manuel de la Peña ]
* Provide useful macros to be used by developers so that less code has
  to be written to define methods, properties and signals.
[ Jussi Pakkanen ]
* Remove unnecessary std::moves in return statements.
[ Thomas Voß ]
* Version bump, switching to GCC 4.8.
[ Ubuntu daily release ]
* New rebuild forced
* New rebuild forced
[ CI bot ]
* Resync trunk
[ Robert Bruce Park ]
* Do not build-dep explicitly on specific g++ version for ppc64-el.
[ thomas-voss ]
* Do not build-dep explicitly on specific g++ version for ppc64-el.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
James Henstridge (jamesh) :
review: Approve
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

is this going to land?

Unmerged revisions

55. By Thomas Voß

[ Manuel de la Peña ]
* Provide useful macros to be used by developers so that less code has
  to be written to define methods, properties and signals.
[ Jussi Pakkanen ]
* Remove unnecessary std::moves in return statements.
[ Thomas Voß ]
* Version bump, switching to GCC 4.8.
[ Ubuntu daily release ]
* New rebuild forced
* New rebuild forced
[ CI bot ]
* Resync trunk
[ Robert Bruce Park ]
* Do not build-dep explicitly on specific g++ version for ppc64-el.
[ thomas-voss ]
* Do not build-dep explicitly on specific g++ version for ppc64-el.

54. By Thomas Voß

Also fix symbols for 32bit platforms.

53. By Thomas Voß

Remove obsolete symbols for dbus::Bus::Name copy and move c'tors.

52. By Thomas Voß

Adjust symbols.

51. By Thomas Voß

Add test for resource cleanup on service and object destruction.

50. By Thomas Voß

Refactor dtor of dbus::Object to unregister from the underlying service.
Refactor dtor of dbus::Service to give up name ownership when an instance goes out of scope.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches