Ninjatrappeur's systemd working tree
Go to file
Filipe Brandenburger adb6cd9be2 systemctl: add support for --wait to is-system-running
This makes it possible to wait until boot is finished without having to poll
for this command repeatedly, instead using the syntax:

  $ systemctl is-system-running --wait

Waiting is implemented by waiting for the StartupFinished signal to be posted
on the bus.

Register the matcher before checking for the property to avoid race conditions.

Tested by artificially delaying startup with a oneshot service and calling this
command, checked that it emitted `running` and exited with a 0 return code as
soon as the delay service completed startup.

Also tested that booting to degraded state unblocks the command.

Inserted a delay between getting the property and waiting for the signal and
confirmed this seems to work free of race conditions.

Updated the --help text (under --wait) and the man page to document the new
feature.
2018-08-07 09:33:25 +02:00
.github github: use multiple issue templates 2018-05-10 07:58:38 -07:00
.mkosi mkosi: add mkosi snippet for ubuntu, too 2018-06-14 17:44:20 +02:00
catalog tree-wide: drop copyright lines for more authors 2018-06-22 16:39:45 +02:00
coccinelle tree-wide: drop !! casts to booleans 2018-06-13 10:52:40 +02:00
doc hashmap: add an environment variable to turn off the memory pool used by hashmaps 2018-08-03 17:36:11 +02:00
factory/etc factory: remove broken pam_limits 2014-07-30 15:21:54 +02:00
hwdb Expanding evdev device match for Razer Blade Stealth (2017) 2018-07-30 13:24:18 +02:00
man systemctl: add support for --wait to is-system-running 2018-08-07 09:33:25 +02:00
modprobe.d Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
network Drop my copyright headers 2018-06-14 13:03:20 +02:00
po Merge pull request #9348 from keszybz/copyright-removal 2018-06-20 12:27:56 +02:00
presets Drop my copyright headers 2018-06-14 13:03:20 +02:00
rules rules: Add by-id symlinks for persistent memory 2018-07-10 09:55:57 +02:00
shell-completion Make final kill signal configurable 2018-07-23 13:44:54 +02:00
src systemctl: add support for --wait to is-system-running 2018-08-07 09:33:25 +02:00
sysctl.d Drop my copyright headers 2018-06-14 13:03:20 +02:00
sysusers.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
test tmpfiles: add more tests 2018-07-30 16:04:23 +02:00
tmpfiles.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
tools meson: print stats in check-api-docs 2018-08-02 15:49:45 +02:00
travis-ci travis: use Fedora 27 as a base image 2018-06-05 12:03:18 +03:00
units units: assign user-runtime-dir@.service to user-%i.slice 2018-08-03 10:45:31 +02:00
xorg login: avoid external process call 2018-01-12 18:02:57 +01:00
.dir-locals.el make dir-locals work again with emacs 26.1 2018-07-23 20:00:48 +02:00
.editorconfig editorconfig: add rule for meson.build files (#6671) 2017-08-28 16:37:23 +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 .gdb_history 2018-07-16 16:03:47 +02:00
.lgtm.yml LGTM: make LGTM.com use meson from pip 2018-07-24 01:37:47 +09:00
.mailmap update NEWS contributors list again 2018-06-20 13:32:57 +02:00
.travis.yml Merge pull request #9193 from keszybz/coverity 2018-06-14 09:59:58 +02:00
.vimrc vimrc: fix indentation logic for our docbook xml files 2016-04-29 12:23:34 +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
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
NEWS Merge pull request #9504 from poettering/nss-deadlock 2018-07-26 10:16:25 +02:00
README resolved: basic OpenSSL support for DNS-over-TLS 2018-07-27 21:23:17 +01:00
README.md README.md: add an LGTM badge 2018-06-26 18:15:09 +02:00
TODO update TODO 2018-08-03 16:41:42 +02:00
configure build-sys: add basic support for ./configure && make && make install 2017-07-18 10:05:06 -04:00
meson.build meson: drop parens when appending to list 2018-07-31 21:02:01 +09:00
meson_options.txt resolved: basic OpenSSL support for DNS-over-TLS 2018-07-27 21:23:17 +01:00
mkosi.build tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00
zanata.xml po: add basic fedora.zanata.org configuration 2018-02-19 13:56:57 +01:00

README.md

systemd - System and Service Manager

Count of open issues over time Count of open pull requests over time Build Status
Coverity Scan Status
CII Best Practices
Build Status
Language Grade: C/C++

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.

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