Go to file
Michal Sekletár d9e45bc3ab core: introduce support for cgroup freezer
With cgroup v2 the cgroup freezer is implemented as a cgroup
attribute called cgroup.freeze. cgroup can be frozen by writing "1"
to the file and kernel will send us a notification through
"cgroup.events" after the operation is finished and processes in the
cgroup entered quiescent state, i.e. they are not scheduled to
run. Writing "0" to the attribute file does the inverse and process
execution is resumed.

This commit exposes above low-level functionality through systemd's DBus
API. Each unit type must provide specialized implementation for these
methods, otherwise, we return an error. So far only service, scope, and
slice unit types provide the support. It is possible to check if a
given unit has the support using CanFreeze() DBus property.

Note that DBus API has a synchronous behavior and we dispatch the reply
to freeze/thaw requests only after the kernel has notified us that
requested operation was completed.
2020-04-30 19:02:51 +02:00
.github ci: introduce CIFuzz 2020-04-24 14:06:21 +03:00
.lgtm/cpp-queries lgtm: complain about accept() [people should use accept4() instead, due to O_CLOEXEC] 2019-04-10 20:03:38 +02:00
.mkosi mkosi: Add openSUSE params file 2020-04-23 10:28:03 +02:00
catalog catalog: add entry for SD_MESSAGE_UNSAFE_USER_NAME 2020-04-08 17:30:04 +02:00
coccinelle tree-wide: formatting tweaks reported by Coccinelle 2020-04-21 23:21:04 +02:00
docs Merge pull request #15472 from keszybz/dbus-api-docs 2020-04-23 17:01:11 +02:00
factory/etc home: add pam_systemd_home.so PAM hookup 2020-01-28 22:36:41 +01:00
hwdb.d Add Logitech G502 HERO to mouse hwdb 2020-04-16 08:27:05 +02:00
man core: introduce support for cgroup freezer 2020-04-30 19:02:51 +02:00
modprobe.d Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
network network: add TUN/TAP vt-* network rule for VMs 2020-04-17 19:15:00 +02:00
po tree-wide: use "hostname" spelling everywhere 2020-04-21 16:58:04 +02:00
presets preset: let's clean up preset list a bit 2020-04-07 19:01:00 +02:00
rules.d rules.d: import the keyboard builtin instead of running it 2020-03-01 14:04:30 +01:00
semaphoreci semaphore: switch to upstream-ci 2020-04-04 19:36:53 +03:00
shell-completion shell-completion/zsh: update systemd-analyze completions 2020-04-27 08:40:15 +02:00
src core: introduce support for cgroup freezer 2020-04-30 19:02:51 +02:00
sysctl.d sysctl: enable coredump for suid binaries 2020-04-07 15:28:46 +02:00
sysusers.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
test Merge pull request #15544 from poettering/fix-journalctl-namespace 2020-04-23 12:19:25 +02:00
tmpfiles.d tmpfiles: apply ACLs to top-level journal directory in /run, too 2020-01-31 15:04:12 +01:00
tools tree-wide: fix spelling errors 2020-04-21 23:21:08 +02:00
travis-ci fuzzit: make the submit phase a bit more robust 2020-04-24 01:58:37 +03:00
units binfmt: also unregister binfmt entries from unit 2020-04-23 17:14:45 +02:00
xorg scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.clang-format Improve help for clang-format 2020-04-25 09:39:31 +02:00
.ctags editors: Prevent ctags from following symlinks 2019-02-15 11:01:20 -08:00
.dir-locals.el scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.editorconfig scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.gitattributes git: indicate that tabs are never OK in the systemd tree 2013-10-30 02:25:38 +01:00
.gitignore gitignore: add nspawn image lock and mkosi temporary files 2018-09-07 20:00:22 +02:00
.lgtm.yml lgtm: drop the TMPDIR/meson workaround 2020-03-03 20:27:42 +01:00
.mailmap NEWS: update contributors list 2020-03-03 08:31:06 +01:00
.travis.yml travis: add missing closing quote sign 2019-11-24 13:15:20 +03:00
.vimrc scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
azure-pipelines.yml Free up some resources on Azure Pipelines 2019-07-17 13:28:38 +09:00
configure treewide: more portable bash shebangs 2020-03-05 17:27:07 +01:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile build-sys: Fix Makefile wrapper for install target (#6548) 2017-08-07 11:29:20 +02:00
meson_options.txt tree-wide: use "hostname" spelling everywhere 2020-04-21 16:58:04 +02:00
meson.build meson: test userdbctl and homectl --help 2020-04-28 09:56:24 +02:00
mkosi.build mkosi: Unify environment for unit tests 2020-04-22 10:35:12 +02:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00
NEWS core: introduce support for cgroup freezer 2020-04-30 19:02:51 +02:00
README Revert "Drop dbus activation stub service" 2019-12-20 17:28:12 +01:00
README.md oss-fuzz: point the badge directly to our logs 2020-04-04 19:41:33 +02:00
TODO update TODO 2020-04-28 23:16:35 +02:00
zanata.xml po: add basic fedora.zanata.org configuration 2018-02-19 13:56:57 +01:00

Systemd

System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI Build Status
Coverity Scan Status
Fuzzit Status
OSS-Fuzz Status
CII Best Practices
Travis CI Build Status
Language Grade: C/C++
CentOS CI Build Status
Build Status
Packaging status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements is 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 guide for information on 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.

Stable branches with backported patches are available in the stable repo.