Merge lp://staging/~ted/ubuntu-app-launch/lp1495871-unref-context into lp://staging/ubuntu-app-launch/16.04
Status: | Merged |
---|---|
Approved by: | Charles Kerr |
Approved revision: | 215 |
Merged at revision: | 213 |
Proposed branch: | lp://staging/~ted/ubuntu-app-launch/lp1495871-unref-context |
Merge into: | lp://staging/ubuntu-app-launch/16.04 |
Prerequisite: | lp://staging/~mterry/ubuntu-app-launch/fix-ftbfs |
Diff against target: |
193 lines (+84/-7) 6 files modified
debian/libubuntu-app-launch2.symbols (+1/-0) helpers-shared.c (+11/-2) libubuntu-app-launch/ubuntu-app-launch.c (+5/-5) libubuntu-app-launch/ubuntu-app-launch.h (+12/-0) tools/CMakeLists.txt (+9/-0) tools/ubuntu-app-list-pids.c (+46/-0) |
To merge this branch: | bzr merge lp://staging/~ted/ubuntu-app-launch/lp1495871-unref-context |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Charles Kerr (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email: mp+279801@code.staging.launchpad.net |
This proposal supersedes a proposal from 2015-12-02.
Commit message
Ensure all pending events on the context are complete before unref'ing it.
Description of the change
So while we create a context to ensure that we can capture all the events to the CGManager connection it seems that some of those events can get stuck on the context, and they need to get processed to complete. Otherwise they hold onto references of things, and that actually results in a g_spawn getting left around because it never gets free'd. (actually of the context itself, which is a bit confusing, but eh, refcounting is fun)
Also brought in the pid tools branch because it made testing this much, much easier. You can use the ubuntu-
valgrind --track-fds=yes ./ubuntu-
Which on trunk will have 6 FDs left over, but with this branch only 5. (which come from globals that we don't control)
PASSED: Continuous integration, rev:214 jenkins. qa.ubuntu. com/job/ ubuntu- app-launch- ci/18/ jenkins. qa.ubuntu. com/job/ ubuntu- app-launch- wily-amd64- ci/18 jenkins. qa.ubuntu. com/job/ ubuntu- app-launch- wily-armhf- ci/18 jenkins. qa.ubuntu. com/job/ ubuntu- app-launch- wily-i386- ci/18
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/ubuntu- app-launch- ci/18/rebuild
http://