summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-01-20socket: don't fail the socket on ENOTCONNMichal Schmidt
Albert Strasheim reported a socket unit with Accept=yes was failing sometimes. getpeername() returns ENOTCONN if the connection was killed by TCP RST. The socket unit must not fail when it happens. Reproducer available at: https://bugzilla.redhat.com/show_bug.cgi?id=783344
2012-01-20dbus-execute: don't publish control_group_persistent on DBus for nowMichal Schmidt
Since the addition of ControlGroupPersistent, systemd is trivially killed by "systemctl status any.service". bus_property_append_bool must not be used for a tri-state int. Also, should it really "b", or do we want the tri-state nature to be seen? For now just comment out the buggy DBus property.
2012-01-20service: add missing pid file unwatch in the destructorMichal Schmidt
The pid file watch could outlive the service unit if a daemon-reload request came at the right time. The inotify event would then be delivered to who knows where. Fix it by unwatching in the service destructor. Further changes will be needed to preserve the state of the pid file watch across daemon-reload. For now let's just fix the crash observed by Jóhann Guðmundsson: Assertion 's->state == SERVICE_START || s->state == SERVICE_START_POST' failed at src/service.c:2609, function service_fd_event(). Aborting Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=783118
2012-01-19log: move #pragma around the functionMichal Schmidt
Koen reported errors with gcc 4.5.4 for arm: src/log.c:624:9: error: #pragma GCC diagnostic not allowed inside functions
2012-01-18persistant -> persistentKay Sievers
2012-01-18tmpfiles: support writing short strings to files, in order to support /sys ↵Lennart Poettering
manipulations at boot time, a la sysctl
2012-01-18manager: don't place units in the 'cpu' group when run as user instance, for nowLennart Poettering
2012-01-18journal: when sending journal data via file, place it in /dev/shm, to allow ↵Lennart Poettering
early boot operation, even if it sucks
2012-01-18exec: introduce ControlGroupPersistant= to make cgroups persistantLennart Poettering
2012-01-18journalctl: properly honour -n when -f is passed, tooLennart Poettering
2012-01-18tmpfiles: add support for creating symlinks, char/block device nodesLennart Poettering
2012-01-18logind: move X11 socketLennart Poettering
2012-01-18logind: simplify session_activate() a bitLennart Poettering
2012-01-18logind: allow to create multiple sessions on non-multi-session seats to deal ↵Lennart Poettering
with left-over sessions
2012-01-18update TODOLennart Poettering
2012-01-17util: fix ANSI sequence for red colorMichal Schmidt
Red turned green by mistake in commit c1072ea0.
2012-01-17log: make asserts cheaperMichal Schmidt
On my x86_64 this shrinks the size of .text by 53 KB (7 %).
2012-01-17log: remove useless variableMichal Schmidt
abort() never returns. Not even if the signal handler catches SIGABRT.
2012-01-17dbus-unit: make functions staticMichal Schmidt
The dbus_unit_append_*() functions are not referenced from outside anymore.
2012-01-16build-sys: cleanup sysctl.d/coredump.confKay Sievers
2012-01-16dbus: more efficient implementation of propertiesMichal Schmidt
The way the various properties[] arrays are initialized is inefficient: - only the .data members change at runtime, yet the whole arrays of properties with all the fields are constructed on the stack one by one by the code. - there's duplication, eg. the properties of "org.freedesktop.systemd1.Unit" are repeated in several unit types. Fix it by moving the information about properties into static const sections. Instead of storing the .data directly in the property, store a constant offset from a run-time base. The small arrays of struct BusBoundProperties bind together the constant information with the right runtime information (the base pointer). On my system the code shrinks by 60 KB, data increases by 10 KB.
2012-01-16unit: use safe downcasts, remove pointless castsMichal Schmidt
Always use the macros for downcasting. Remove a few obviously pointless casts.
2012-01-16unit: use the UNIT() macro consistentlyMichal Schmidt
The UNIT() macro upcasts from specific unit types to the base Unit. Use it everywhere, rather than accessing the 'meta' member directly.
2012-01-16unit: remove union UnitMichal Schmidt
Now that objects of all unit types are allocated the exact amount of memory they need, the Unit union has lost its purpose. Remove it. "Unit" is a more natural name for the base unit class than "Meta", so rename Meta to Unit. Access to members of the base class gets simplified.
2012-01-16unit: reduce heap usage for unit objectsMichal Schmidt
The storage of the unit objects on the heap is currently not very efficient. For every unit object we allocate a chunk of memory as large as the biggest unit type, although there are significant differences in the units' real requirements. pahole shows the following sizes of structs: 488 Target 496 Snapshot 512 Device 528 Path 560 Timer 576 Automount 1080 Socket 1160 Swap 1168 Service 1280 Mount Usually there aren't many targets or snapshots in the system, but Device is one of the most common unit types and for every one we waste 1280 - 512 = 768 bytes. Fix it by allocating only the right amount for the given unit type. On my machine (x86_64, with 39 LVM volumes) this decreases systemd's USS (unique set size) by more than 300 KB.
2012-01-16logind: downgrade login message to debugMichal Schmidt
The messages make people nervous. https://bugzilla.redhat.com/show_bug.cgi?id=727315
2012-01-14journal: drop privileges when storing coredumpLennart Poettering
2012-01-14journal: when show blob data show lengthLennart Poettering
2012-01-14util: support formatting eta and peta bytes with format_bytes()Lennart Poettering
2012-01-14util: introduce FORMAT_BYTES_MAXLennart Poettering
2012-01-14journal: collect coredump up to 24M in sizeLennart Poettering
2012-01-14journal: handle empty syslog identifier properlyLennart Poettering
2012-01-14journal: fix bad memory accessLennart Poettering
2012-01-14journal: if the data to be sent is larger than the maximum datagram size ↵Lennart Poettering
resort to passing a temporary fd over native protocol
2012-01-14journal: hook up coredumping with journalLennart Poettering
2012-01-14journal: add new system-cat tool as kind of a more powerfull BSD loggerLennart Poettering
2012-01-14util: split out tty_is_vc_resolve() from default_term_for_tty()Lennart Poettering
2012-01-14util: rework ANSI escape code macrosLennart Poettering
2012-01-14mount: fix quotaMichal Schmidt
quotacheck.service and quotaon.service were not pulled in for fstab mounts. Fix it by not clearing the default_dependencies flag. The root filesystem may have quotas too, so don't check for "/" there. No need to have duplicate code for adding dependencies on umount.target. https://bugzilla.redhat.com/show_bug.cgi?id=773431
2012-01-13pam: fix buildLennart Poettering
2012-01-13pam: work correctly if a seat is specified but not vtnrLennart Poettering
2012-01-13journal: add output mode that just prints simple messages without any ↵Lennart Poettering
decorations
2012-01-13api: add C++ guards to all headersLennart Poettering
2012-01-13sd-login: teach sd_pid_get_unit() proper handling of instantiated servicesLennart Poettering
2012-01-12journal: if the syslog forwarder socket is full, then don't blockLennart Poettering
2012-01-12core: switch all log targets to go directly to the journal, instead via syslogLennart Poettering
2012-01-12units: make sure syslog socket goes away early during shutdownLennart Poettering
2012-01-12log: make internal log api log directly to the journalLennart Poettering
2012-01-11journal: add SELinux context to all logged messagesLennart Poettering
2012-01-11journal: fix more 32/64 bit issuesLennart Poettering