This uses RET_NERRNO to more quickly pull the error code we see into "r" out of "errno". This does not change anything really. The only reason to do this is because it is harder to break this accidentally. The thing is that "errno" is easily set as side-effect of arbitrary functions. Thus, if we rely on it being set for long code paths, we need to make carefully sure that no code in between calls any function that might corrupt it as side-effect. As far as I can see we did get this right. Nonetheless, I think we should just store the value in "r" instead, to make it easier to maintain this in the long run, if more code is inserted one day, who knows.
System and Service Manager
Details
Most documentation is available on systemd's web site.
Assorted, older, 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 Code Map for information about this repository's layout and content.
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.
