summaryrefslogtreecommitdiff
path: root/src/dbus-unit.c
AgeCommit message (Collapse)AuthorFilesLines
2012-01-17dbus-unit: make functions staticMichal Schmidt1-80/+80
The dbus_unit_append_*() functions are not referenced from outside anymore.
2012-01-16dbus: more efficient implementation of propertiesMichal Schmidt1-0/+62
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: remove union UnitMichal Schmidt1-35/+35
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.
2011-08-21cgroup: expose cgroup attributes as unit properties on the busLennart Poettering1-0/+34
2011-07-31dbus: export unit file stateLennart Poettering1-0/+16
2011-07-31dbus: export load error on unit objectsLennart Poettering1-0/+24
2011-07-13unit: accept empty defaults for kill who/mode argsLennart Poettering1-4/+17
2011-04-16dbus: split out object management code into dbus-common, and simplify itLennart Poettering1-34/+24
2011-03-31src: our lord is coverityLennart Poettering1-2/+2
2011-03-09dbus: fix dbus assert due to uninitialized errorAndrey Borzenkov1-0/+2
Add missing dbus_error_init() in UNKNOWN_OBJECT case. Fixes assertion systemd[1]: Caught <ABRT>, dumped core as pid 6256. systemd[1]: Freezing execution. Core was generated by `/bin/systemd systemd.unit=graphical.target'. Program terminated with signal 6, Aborted. #0 0x00007f8966ec81db in raise () from /lib64/libpthread.so.0 (gdb) bt #0 0x00007f8966ec81db in raise () from /lib64/libpthread.so.0 #1 0x000000000040823b in crash (sig=6) at src/main.c:120 #2 <signal handler called> #3 0x00007f896613c075 in raise () from /lib64/libc.so.6 #4 0x00007f896613d806 in abort () from /lib64/libc.so.6 #5 0x00007f89672ac8a5 in _dbus_abort () at dbus-sysdeps.c:94 #6 0x00007f89672a37b5 in _dbus_warn_check_failed ( format=0x7f89672b35d8 "arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\nThis is normally a bug in some application using the D-Bus library.\n") at dbus-internals.c:289 #7 0x0000000000441500 in bus_unit_message_handler (connection=0x21b6090, message=0x21b6760, data=0x1f3e870) at src/dbus-unit.c:572 #8 0x00007f8967299f11 in _dbus_object_tree_dispatch_and_unlock ( tree=0x219d660, message=0x21b6760) at dbus-object-tree.c:858 #9 0x00007f896728bca2 in dbus_connection_dispatch (connection=0x21b6090) at dbus-connection.c:4688 #10 0x000000000043befa in bus_dispatch (m=0x1f3e870) at src/dbus.c:547 #11 0x000000000041056d in manager_loop (m=0x1f3e870) at src/manager.c:2344 #12 0x0000000000409515 in main (argc=<value optimized out>, argv=<value optimized out>) at src/main.c:1229
2011-03-09drop unnecessary suffix NULs as gcc adds them anywayLennart Poettering1-2/+1
2011-03-08dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object is unknownLennart Poettering1-2/+5
2010-11-23build-sys: allow cross-compilationThierry Reding1-1/+1
When cross-compiling systemd, the introspection XML files fail to be generated because the systemd host binary is not executable. This patch works around this by putting the introspection XML data into separate ELF sections and extracting them from the binary when generating the XML files. The extracted XML data is passed through the strings utility in order to strip the trailing NUL character. A small AWK script is used to prepend the doctype and add the opening and closing node tags respectively. Finally, the C preprocessor is used to substitute the correct doctype information from the D-Bus header files.
2010-10-22systemctl: introduce systemctl killLennart Poettering1-0/+28
2010-10-13dbus: add introspection to midlevel pathsLennart Poettering1-0/+81
2010-08-31manager: add missing second part of s/maintenance/failed/Matthew Miller1-2/+2
2010-08-30unit: introduce AllowIsolate= switchLennart Poettering1-0/+18
2010-08-20dbus: follow standardized fdo PropertiesChanged signal specLennart Poettering1-2/+31
2010-08-14emacs: make sure nobody accidently adds tabs to our sourcesLennart Poettering1-1/+1
2010-08-11unit: rename OnlyByDependency= to RefuseManualStart= and introduce ↵Lennart Poettering1-3/+27
RefuseManualStop= Some unit shall never be start on user request (e.g. shutdown.target) others never be stopped on user request (e.g. auditd.servce), hence offer options for both.
2010-08-09dbus: don't call bus_path_escape() with NULL unit nameLennart Poettering1-0/+6
Fixes an assertion triggerable via D-Bus. https://bugzilla.redhat.com/show_bug.cgi?id=622008
2010-07-21unit: deduce following unit value dynamically instead of statically, to ↵Lennart Poettering1-2/+3
avoid dangling pointers
2010-07-20device: do not merge devicesLennart Poettering1-0/+17
Don't try to merge devices that have been created via dependencies when they appear in the system and can be recognized as the same. Instead, simply continue to maintain them independently of each other, however with the same state cycle. Why? Because otherwise we'd have a hard time to seperate the dependencies after the devices are unplugged again and we hence cannot be sure anymore that next time the device is plugged in it will carry the same names. Example: if one depndency refers to dev-sda.device and another one to dev-by-id-xxxyyy.device we only learn at time of plug in of the device that it is actually the same device that was ment. In the moment the device is unplugged again we won't know anymore their relation to each other and the next time the harddisk is plugged it might even appear as dev-by-id-xxxyyy.device and dev-sdb.service. To ensure the dependencies continue to have the meaning they were intended to have let's hence keep the .device objects seperate all the time, even when they are plugged in. This patch also introduces a new Following= property which points from the various .device units of a specific device to the main .device unit for it. This can be used by the client side to figure out the relation of the .device units to each other and even filter units from display.
2010-07-19systemctl: introduce reset-maintenance commandLennart Poettering1-0/+7
2010-07-17unit: consider only_by_dependency setting when clients ask whether a unit is ↵Lennart Poettering1-1/+2
startable
2010-07-17systemctl: warn when operating on service files that changed on disk but ↵Lennart Poettering1-0/+17
haven't been reloaded
2010-07-13systemctl: introduce try-restart and reload-or-restart commandsLennart Poettering1-1/+15
2010-07-11dbus: don't hit an assert if we sent a changed signal for something not in ↵Lennart Poettering1-3/+4
the dbus queue (i.e. because it was deleted before it was fully created
2010-07-10execute: add ability to configure the kill signalLennart Poettering1-2/+0
2010-07-08dbus: make errors reported via D-Bus more usefulLennart Poettering1-6/+11
2010-07-08dbus: log received message only once, in filter functionLennart Poettering1-5/+0
2010-07-06install: implement --start optionLennart Poettering1-0/+2
2010-07-05dbus: send signals about jobs to the clients having created them ↵Lennart Poettering1-2/+2
unconditionally, and thus get rid of broadcast signals in most cases
2010-06-19dbus: to make sure that systemd stays controllable during early bootup, ↵Lennart Poettering1-12/+12
register our services on our own micro usb server in addition to the bus
2010-06-01dbus: add simplified way to start an arbitrary unit in a single method callLennart Poettering1-1/+5
2010-05-23dbus: automatically generate and install introspection filesLennart Poettering1-0/+2
2010-05-22systemctl: add --block switch for synchronous starting of unitsLennart Poettering1-1/+4
2010-05-21unit: add simple only-by-dependency flag for unitsLennart Poettering1-0/+3
2010-05-16build-sys: move source files to subdirectoryLennart Poettering1-0/+451