summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-08util: Avoid memory allocations for formatting pathsHolger Hans Peter Freyther
Avoid memory allocations to construct the path for files in the procfs. The procfs paths are way shorter than the PATH_MAX so we can use snprintf on a string located on the stack. This shows up as a win on x86 using the benchmark program below. $ make libsystemd-shared.la; gcc -O2 -Isrc/systemd/ -Isrc/ \ -o simple-perf-test simple-perf-test.c \ .libs/libsystemd-shared.a -lrt #include "shared/util.h" void test_once(void) { pid_t pid = getpid(); char *tmp = NULL; get_process_comm(pid, &tmp); free(tmp); tmp = NULL; get_process_cmdline(pid, 0, 1, &tmp); free(tmp); is_kernel_thread(pid); tmp = NULL; get_process_exe(pid, &tmp); free(tmp); } int main(int argc, char **argv) { int i; for (i = 0; i < 50000; ++i) test_once(); }
2013-04-08update TODOLennart Poettering
2013-04-08cgtop: print absolute CPU times with format_timespanLennart Poettering
2013-04-08Do not serialize environment, when switching rootHarald Hoyer
When switching root, i.e. LANG can be set to the locale of the initramfs or "C", if it was unset. When systemd deserializes LANG in the real root this would overwrite the setting previously gathered by locale_set(). To reproduce, boot with an initramfs without locale.conf or change /etc/locale.conf to a different language than the initramfs and check a daemon started by systemd: $ tr "$\000" '\n' </proc/$(pidof sshd)/environ | grep LANG LANG=C To prevent that, serialization of environment variables is skipped, when serializing for switching root. https://bugzilla.redhat.com/show_bug.cgi?id=949525
2013-04-08sd-daemon.c: allow use of -lrt to be avoidedSimon McVittie
In recent glibc, many commonly-used librt functions have moved from librt to libc. This results in dbus' configure.ac concluding that we don't need to link in librt. However, sd-daemon.c needs it for mq_getattr(), causing the build to fail. dbus doesn't use POSIX message queues, so I'd prefer to be able to avoid "if on Linux, link librt for sd-daemon.c".
2013-04-08journal: Fix typoMarius Vollmer
This would break backwards skipping. https://bugs.freedesktop.org/show_bug.cgi?id=63250
2013-04-06systemd-python: fix wait bugSteven Hiscocks
2013-04-06dbus-loop.c: fix variable initializationKay Sievers
Fix for: b92bea5d2a9481de69bb627a7b442a9f58fca43d Causing: systemd-logind[265]: Assertion 'd = event.data.ptr' failed at src/shared/dbus-loop.c:233, function bus_loop_dispatch(). Aborting.
2013-04-05Use _cleanup_ when reading config filesZbigniew Jędrzejewski-Szmek
2013-04-05Add _cleanup_globfree_Zbigniew Jędrzejewski-Szmek
Fixes a memleak in error path in exec_context_load_environment.
2013-04-05Use initalization instead of explicit zeroingZbigniew Jędrzejewski-Szmek
Before, we would initialize many fields twice: first by filling the structure with zeros, and then a second time with the real values. We can let the compiler do the job for us, avoiding one copy. A downside of this patch is that text gets slightly bigger. This is because all zero() calls are effectively inlined: $ size build/.libs/systemd text data bss dec hex filename before 897737 107300 2560 1007597 f5fed build/.libs/systemd after 897873 107300 2560 1007733 f6075 build/.libs/systemd … actually less than 1‰. A few asserts that the parameter is not null had to be removed. I don't think this changes much, because first, it is quite unlikely for the assert to fail, and second, an immediate SEGV is almost as good as an assert.
2013-04-05udevadm: do not free node on successZbigniew Jędrzejewski-Szmek
A fix for ff03aed06a422.
2013-04-05udev-builtin-usb_id: avoid comparison of unsigned and ssize_tZbigniew Jędrzejewski-Szmek
For some reason this shows up on i686 only: src/udev/udev-builtin-usb_id.c:192:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2013-04-05systemctl: tweak drop-in displayLennart Poettering
So far we didn't place spaces between the box drawing chars and the values next to them. Let's be consistent here. (Or to turn this around: if we really want to place a space there we probably should do that in all our tree outputs, not just here...)
2013-04-05systemctl: tweak output of Listen: fields a bitLennart Poettering
It's probably a good idea to minimize the number of field names to show in the "systemctl status" output, in order to make them useful as a guide for the reader how things are "grouped". This patch moves information about the used socket technology to the end of the output lines in brackets, rather than into the field names. This turns the used socket technology into what it is -- peripheral meta information -- instead of something that was at the core. New output: systemd-journald.socket - Journal Socket Loaded: loaded (/usr/lib/systemd/system/systemd-journald.socket; static) Active: active (running) since Fr 2013-03-29 02:16:30 CET; 1 weeks 0 days ago Docs: man:systemd-journald.service(8) man:journald.conf(5) man:systemd-journald.service(8) man:journald.conf(5) Listen: /run/systemd/journal/stdout (Stream) /run/systemd/journal/socket (Datagram) /dev/log (Datagram)
2013-04-05systemctl: Add DropIn paths to status messageOleksii Shevchuk
$ systemctl status null.target null.target - NYAN Loaded: loaded (/home/alxchk/.config/systemd/user/null.target; disabled) Drop-In: /home/alxchk/.config/systemd/user/null.target.d └─ descr.conf, install-1.conf, install.conf /etc/systemd/user/null.target.d └─ test.conf Active: active since Пт 2013-04-05 20:42:13 EEST; 1min 58s ago
2013-04-05build-sys: libsystemd-daemon.so is no longer required for pam_systemdLennart Poettering
2013-04-05build-sys: add new man pages to makefileLennart Poettering
2013-04-05logind: consider key inhibitors that are taken by non-session processes as ↵Lennart Poettering
global This should allow system services to take over key handling for all sessions, globally.
2013-04-05PAM, uaccess: check for logind, not for systemdMartin Pitt
It is possible to build systemd without logind or run logind without systemd init. Commit 66e41181 fixed sd_booted() to only succeed for systemd init; with that, testing for systemd init is wrong in the parts that talk to logind. In particular, this affects the PAM module and the "uaccess" udev builtin. Change sd_booted() to a new logind_running() which tests for /run/systemd/seats/. For details, see: <https://mail.gnome.org/archives/desktop-devel-list/2013-March/msg00092.html> https://bugs.freedesktop.org/show_bug.cgi?id=62754
2013-04-05shell-completion: work on session shell is --user is usedZbigniew Jędrzejewski-Szmek
https://bugs.freedesktop.org/show_bug.cgi?id=61695
2013-04-05build-sys: use LN_S in Makefile.amZbigniew Jędrzejewski-Szmek
For consistency only. We're Linux only, so it really makes no difference. https://bugs.freedesktop.org/show_bug.cgi?id=63036
2013-04-05bus: various improvements for test-bus-chatLennart Poettering
2013-04-05bus: convert a couple of calls over to new convenience functionsLennart Poettering
2013-04-05bus: add convenience calls for method replies, tooLennart Poettering
2013-04-05bus: when parsing signature strings, accept NULL as empty signatureLennart Poettering
2013-04-05bus: make sure callback structs are always properly initializedLennart Poettering
2013-04-05vconsole-setup: fix vconsole.conf vs. cmdline overriding logicMichal Schmidt
Skipping the parsing of /etc/vconsole.conf just because some values were already assigned from the cmdline never made sense. And by the way, commit f73141d changed the return values of parse_env_file() - it now gives 0 on success. Which means in current HEAD /etc/vconsole.conf overrides the cmdline, which is the reverse of what's expected. We need to parse /etc/vconsole.conf first and then let vconsole.* overrides from cmdline take effect. The behaviour is documented in vconsole.conf(5). https://bugzilla.redhat.com/show_bug.cgi?id=948750
2013-04-05bus: use C99 struct construction for error initializersLennart Poettering
That way we can allocate an error struct on-the-fly while calling a function. Nice!
2013-04-05test-strv: do not declare table to be sorted constZbigniew Jędrzejewski-Szmek
Segmentation fault under clang.
2013-04-05test-catalog,core/load-dropin: remove unused variablesZbigniew Jędrzejewski-Szmek
2013-04-05journal: u64log2 can be expressed just as __builtin_clzll(n) ^ 63UCristian Rodríguez
2013-04-05systemctl: align cgroups to 'n' in 'name='Zbigniew Jędrzejewski-Szmek
Also drop ':' in repeated Docs lines.
2013-04-05sd-id128: check that the kernel is feeding us proper dataZbigniew Jędrzejewski-Szmek
The characters are already checked, so we show that we don't trust the kernel. Make sure we don't overrun the buffer too.
2013-04-04udevadm-hwdb: avoid leak in error pathZbigniew Jędrzejewski-Szmek
2013-04-04efivars: un-leak a few stringsZbigniew Jędrzejewski-Szmek
2013-04-04timedated: fix a few memory leaksZbigniew Jędrzejewski-Szmek
Contents of /etc/adjtime and more.
2013-04-05bus: add convenience functions for constructing and sending method ↵Lennart Poettering
calls/signals in one call
2013-04-05bus: properly detect and handle if a callback is installed/removed from ↵Lennart Poettering
within a callback
2013-04-05bus: don't allow recursive invocation of sd_bus_process()Lennart Poettering
2013-04-05update TODOLennart Poettering
2013-04-05localectl: add support for listing X11 keymap informationLennart Poettering
2013-04-04journal: add sd_journal_get_timeout() call to public APILennart Poettering
Let's do the wake-up logic on NFS internally, making things simpler for users.
2013-04-04login: add sd_login_monitor_get_timeout() public api callLennart Poettering
We don't need this right now, but we should keep our options open, in case we need more than just an fd for waking up.
2013-04-04update TODOLennart Poettering
2013-04-04test-bus-marshal.c: do not call g_type_init() for modern glib versionsHarald Hoyer
2013-04-04cryptsetup-generator: add JobTimeoutSec=0 for the decrypted crypt devicesHarald Hoyer
The password query for a crypto device currently times out after 90s, which is too short to grab a cup of coffee when a machine boots up. The resulting decrypted device /dev/mapper/luks-<uuid> might not be a mountpoint (but part of a LVM PV or raid array) and therefore the timeout cannot be controlled by the settings in /etc/fstab. For this reason this device should not carry its own timeout. Also the encrypted device /dev/disk/by-*/* already has a timeout and additionally the timeout for the password query is set in /etc/crypttab. This patch disables the timeout of the resulting decrypted devices by creating <device-unit>.d/50-job-timeout-sec-0.conf files with "JobTimeoutSec=0".
2013-04-04login: add new public API call sd_login_monitor_get_events() to get poll() ↵Lennart Poettering
flags to wait for We should keep our options open, so that we can watch for POLLOUT later on if we wish to. CUrrently this call will always return POLLIN however.
2013-04-04journal: add public API call sd_journal_get_events()Lennart Poettering
This function should be used when filling in "struct pollfd"'s .events field for watching the journal. It will always return POLLIN for now, but we should keep our options open to change this later on. This mimics libsystemd-bus' sd_bus_get_events() call with the same purpose.
2013-04-04util: tweak format_timespan() a bitLennart Poettering
Make sure to always print out at least one valid component instead of falling back early to 0.