mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 00:51:24 +03:00
The systemd System and Service Manager
8cb8326606
scope_abandon() called unit_watch_all_pids() to check if there are any pids in the cgroup, but unit_watch_all_pids() does nothing (and returns an empty set of pids) when cg_unified_controller(SYSTEMD) returns true. On hybrid or unified, cg_unified_controller(SYSTEMD) returns 1, so scope_abandon() thinks the scope is empty, even though it's not, and marks the scope dead prematurely. Example output after the scope is marked dead with processes still being present: ● session-24.scope - Session 24 of user guest Loaded: loaded (/run/systemd/transient/session-24.scope; transient; vendor preset: disabled) Transient: yes Active: inactive (dead) since Sat 2017-10-14 15:36:22 CEST; 5min ago Tasks: 1 CGroup: /user.slice/user-1001.slice/session-24.scope └─17309 sleep infinity Subsequent calls to stop the scope unit do nothing, because systemd thinks the scope is already dead. https://bugzilla.redhat.com/show_bug.cgi?id=1486859 This is easily reproducible on both F26 and F27: > ssh guest@localhost $ pulseaudio & sleep infinity & disown; exit $ systemctl status $$ > systemctl status session-NN.scope Tested with unified, hybrid, and legacy layouts, seems to work. |
||
---|---|---|
.github | ||
.mkosi | ||
catalog | ||
coccinelle | ||
docs | ||
factory/etc | ||
hwdb | ||
man | ||
modprobe.d | ||
network | ||
po | ||
rules | ||
shell-completion | ||
src | ||
sysctl.d | ||
system-preset | ||
sysusers.d | ||
test | ||
tmpfiles.d | ||
tools | ||
units | ||
xorg | ||
.dir-locals.el | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
.vimrc | ||
.ycm_extra_conf.py | ||
CODING_STYLE | ||
configure | ||
DISTRO_PORTING | ||
ENVIRONMENT.md | ||
HACKING | ||
LICENSE.GPL2 | ||
LICENSE.LGPL2.1 | ||
Makefile | ||
meson_options.txt | ||
meson.build | ||
mkosi.build | ||
mkosi.default | ||
NEWS | ||
README | ||
README.md | ||
TODO |
systemd - System and Service Manager
Details
General information about systemd can be found in the systemd Wiki.
Information about build requirements are provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the HACKING file for information how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list or join our IRC channel.