Ninjatrappeur's systemd working tree
Go to file
Tejun Heo e57051f542 core: update invoke_sigchld_event() to handle NULL ->sigchld_event()
After receiving SIGCHLD, one of the ways manager_dispatch_sigchld() maps the
now zombie $PID to its unit is through manager_get_unit_by_pid_cgroup() which
reads /proc/$PID/cgroup and looks up the unit associated with the cgroup path.

On non-unified cgroup hierarchies, a process is immediately migrated to the
root cgroup on death and the cgroup lookup would always have returned the unit
associated with it, making it rather pointless but safe.  On unified hierarchy,
a zombie remains associated with the cgroup that it was associated with at the
time of death and thus manager_get_unit_by_pid_cgroup() will look up the unit
properly.

However, by the time manager_dispatch_sigchld() is running, the original cgroup
may have become empty and it and its associated unit might already have been
removed.  If the cgroup path doesn't yield a match, manager_dispatch_sigchld()
keeps pruning the leaf component.  This means that the function may return a
slice unit for a pid and as a slice doesn't have ->sigchld_event() handler,
calling invoke_sigchld_event() on it causes a segfault.

This patch updates invoke_sigchld_event() so that it skips calling if the
handler is not set.
2016-03-26 12:06:06 -04:00
.github .github/ISSUE_TEMPLATE: Use a list for submission type so that it appears as a checkbox 2016-02-26 09:54:30 +11:00
catalog editors: only extend line width to 119 for C and XML files 2016-02-10 12:29:32 +01:00
coccinelle tree-wide: use xsprintf() where applicable 2016-01-12 15:36:32 +01:00
docs docs: add .gitignore 2015-07-06 17:47:38 +02:00
factory/etc factory: remove broken pam_limits 2014-07-30 15:21:54 +02:00
hwdb hwdb: Update database of Bluetooth company identifiers 2016-03-18 01:05:51 +01:00
m4 build-sys: Perform flag tests in context to existing flags 2016-02-06 14:57:46 +01:00
man run: remove period when printing started units 2016-03-23 15:45:32 +01:00
network network: turn on LLDP tx+rx for the default container network configuration 2016-02-21 20:58:59 +01:00
po po/zh_CN: attempt to refresh zh_CN translation 2016-03-01 20:40:18 -07:00
rules rfkill: rework and make it listen on /dev/rfkill 2015-10-01 16:21:09 +02:00
shell-completion bash completion: add --template to nspawn 2016-03-20 17:55:58 +00:00
src core: update invoke_sigchld_event() to handle NULL ->sigchld_event() 2016-03-26 12:06:06 -04:00
sysctl.d coredump: honour RLIMIT_CORE when saving/processing coredumps 2016-02-10 16:08:32 +01:00
system-preset preset: enable machines.target by default 2014-12-29 17:36:57 +01:00
sysusers.d remove bus-proxyd 2016-02-12 19:10:01 +01:00
test Merge pull request #2760 from ronnychevalier/rc/core_no_new_privileges_seccompv3 2016-03-21 12:57:43 +01:00
tmpfiles.d build-sys: allow references to wheel group to be omitted 2016-02-17 23:47:23 -05:00
tools Remove systemd-bootchart 2016-02-23 13:30:09 +01:00
units units: run ldconfig.service after we have mounted all local file systems 2016-03-17 14:41:26 +01:00
xorg login: support user-bus on dbus1 2015-08-31 18:12:37 +02:00
.dir-locals.el editors: only extend line width to 119 for C and XML files 2016-02-10 12:29:32 +01:00
.editorconfig editors: only extend line width to 119 for C and XML files 2016-02-10 12:29:32 +01:00
.gitattributes git: indicate that tabs are never OK in the systemd tree 2013-10-30 02:25:38 +01:00
.gitignore tests: rename test-env-replace to test-env-util 2016-03-21 16:17:18 -04:00
.mailmap NEWS: add more stuff, and reorder things a bit 2015-11-13 13:59:50 +01:00
.travis.yml remove gudev and gtk-doc 2015-06-03 00:22:53 +02:00
.vimrc editors: only extend line width to 119 for C and XML files 2016-02-10 12:29:32 +01:00
.ycm_extra_conf.py ycm: update flag blacklist 2014-06-04 15:41:10 -04:00
autogen.sh build-sys: drop libsystemd-{id128,daemon,login,journal}.so compat libs 2016-02-13 11:57:14 +01:00
CODING_STYLE treewide: fix typos and then/that use 2016-02-24 11:56:11 +01:00
configure.ac basic/missing: add copy_file_range 2016-03-17 13:02:18 -04:00
DISTRO_PORTING build-sys: warn if people don't change the default NTP servers when building systemd 2015-07-11 14:24:29 -03: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-man.am Revert "DHCP DUID and IAID configurability" 2016-03-21 18:24:24 -04:00
Makefile.am Merge pull request #2880 from keszybz/more-tests 2016-03-22 10:23:12 +01:00
NEWS Reference correct machinectl command in 219 NEWS 2016-03-16 09:23:31 +01:00
README README: bump kernel version to 3.12 2016-03-05 11:22:45 -05:00
README.md github: CONTRIBUTING.md moved, let's fix the link to it 2016-02-22 23:23:06 +01:00
TODO basic/copy: use copy_file_range() 2016-03-17 13:02:18 -04:00

systemd - System and Service Manager

Build Status
Coverity Scan Status

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 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.