Merge lp://staging/~ted/ubuntu-app-launch/lp1579799-oom-adjust into lp://staging/ubuntu-app-launch/16.10
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | dobey | ||||
Approved revision: | 303 | ||||
Merged at revision: | 243 | ||||
Proposed branch: | lp://staging/~ted/ubuntu-app-launch/lp1579799-oom-adjust | ||||
Merge into: | lp://staging/ubuntu-app-launch/16.10 | ||||
Prerequisite: | lp://staging/~ted/ubuntu-app-launch/abi-compliance | ||||
Diff against target: |
3445 lines (+1737/-729) 29 files modified
CMakeLists.txt (+11/-3) debian/control (+5/-5) debian/libubuntu-app-launch3.install (+1/-1) debian/libubuntu-app-launch3.shlibs (+1/-1) helpers-shared.c (+1/-1) helpers.c (+17/-8) libubuntu-app-launch/CMakeLists.txt (+5/-1) libubuntu-app-launch/app-info.h (+7/-1) libubuntu-app-launch/application-impl-base.cpp (+463/-111) libubuntu-app-launch/application-impl-base.h (+52/-5) libubuntu-app-launch/application-impl-click.cpp (+30/-0) libubuntu-app-launch/application-impl-click.h (+4/-0) libubuntu-app-launch/application-impl-legacy.cpp (+37/-1) libubuntu-app-launch/application-impl-legacy.h (+7/-0) libubuntu-app-launch/application-impl-libertine.cpp (+28/-0) libubuntu-app-launch/application-impl-libertine.h (+5/-0) libubuntu-app-launch/application.cpp (+39/-0) libubuntu-app-launch/application.h (+13/-0) libubuntu-app-launch/libubuntu-app-launch.map (+1/-0) libubuntu-app-launch/oom.h (+54/-0) libubuntu-app-launch/registry-impl.cpp (+318/-0) libubuntu-app-launch/registry-impl.h (+21/-2) libubuntu-app-launch/registry.cpp (+61/-21) libubuntu-app-launch/second-exec-core.c (+3/-10) libubuntu-app-launch/second-exec-core.h (+2/-2) libubuntu-app-launch/ubuntu-app-launch.cpp (+129/-462) tests/CMakeLists.txt (+1/-0) tests/libual-cpp-test.cc (+357/-74) tests/libual-test.cc (+64/-20) |
||||
To merge this branch: | bzr merge lp://staging/~ted/ubuntu-app-launch/lp1579799-oom-adjust | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
dobey (community) | Abstain | ||
unity-api-1-bot | continuous-integration | Needs Fixing | |
Charles Kerr (community) | Approve | ||
PS Jenkins bot | continuous-integration | Pending | |
Review via email:
|
This proposal supersedes a proposal from 2016-05-19.
Commit message
Add API to allow adjusting of the OOM score for an application instance
Description of the change
This branch is a bit of refactoring in that it moves the PID setting code from the C side to the C++ to add the new API. A lot of converted code that has been made more generic to accommodate the new use-cases. Then the C interface has been adjusted to call into the C++ code that implements the functionality.
The new code implements a way to set the OOM value for an instance. It uses a psuedo-enum style so that we can try to keep the states contained while still having a flexible system for experimentation.
A nice improvement in this code as that we're no longer using the ZG global log file so we don't have a memory leak from it if the registry is deallocated. Also the ZG event and DBus signalling now happen outside of the calling thread, which should improve the responsiveness of Unity8 (probably only slightly).
This branch does need a patch to ZG, specifically bug 1584849, which we will land in the same silo.
API looks good!