Commit Graph

32 Commits

Author SHA1 Message Date
Lennart Poettering
bfebab7f69 dbus: split out object management code into dbus-common, and simplify it 2011-04-16 02:03:35 +02:00
Lennart Poettering
da19d5c19f src: our lord is coverity 2011-03-31 15:35:40 +02:00
Andrey Borzenkov
b8a021c9e2 dbus: fix dbus assert due to uninitialized error
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-09 20:03:29 +01:00
Lennart Poettering
34df5a34e1 drop unnecessary suffix NULs as gcc adds them anyway 2011-03-09 19:48:02 +01:00
Lennart Poettering
08672cb507 dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object is unknown 2011-03-08 02:27:43 +01:00
Thierry Reding
9a60da2834 build-sys: allow cross-compilation
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-11-23 22:38:55 +01:00
Lennart Poettering
8a0867d6c5 systemctl: introduce systemctl kill 2010-10-22 16:11:50 +02:00
Lennart Poettering
2cccbca4fd dbus: add introspection to midlevel paths 2010-10-13 03:03:31 +02:00
Matthew Miller
fdf20a3160 manager: add missing second part of s/maintenance/failed/ 2010-08-31 00:23:34 +02:00
Lennart Poettering
2528a7a62c unit: introduce AllowIsolate= switch 2010-08-30 23:04:36 +02:00
Lennart Poettering
c4e2ceae94 dbus: follow standardized fdo PropertiesChanged signal spec 2010-08-20 02:31:54 +02:00
Lennart Poettering
d6c9574fb5 emacs: make sure nobody accidently adds tabs to our sources 2010-08-14 19:59:25 +02:00
Lennart Poettering
b5e9dba8d6 unit: rename OnlyByDependency= to RefuseManualStart= and introduce 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-11 01:44:37 +02:00
Lennart Poettering
04ade7d215 dbus: don't call bus_path_escape() with NULL unit name
Fixes an assertion triggerable via D-Bus.

https://bugzilla.redhat.com/show_bug.cgi?id=622008
2010-08-09 17:07:05 +02:00
Lennart Poettering
a7f241db3f unit: deduce following unit value dynamically instead of statically, to avoid dangling pointers 2010-07-21 05:00:29 +02:00
Lennart Poettering
8fe914ec81 device: do not merge devices
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-20 20:33:24 +02:00
Lennart Poettering
5632e3743d systemctl: introduce reset-maintenance command 2010-07-19 04:08:07 +02:00
Lennart Poettering
064f51fa29 unit: consider only_by_dependency setting when clients ask whether a unit is startable 2010-07-17 04:07:49 +02:00
Lennart Poettering
45fb0699c4 systemctl: warn when operating on service files that changed on disk but haven't been reloaded 2010-07-17 00:57:51 +02:00
Lennart Poettering
6f28c033ec systemctl: introduce try-restart and reload-or-restart commands 2010-07-13 20:20:36 +02:00
Lennart Poettering
c0bd0cf7ff dbus: don't hit an assert if we sent a changed signal for something not in the dbus queue (i.e. because it was deleted before it was fully created 2010-07-11 03:59:59 +02:00
Lennart Poettering
2e22afe909 execute: add ability to configure the kill signal 2010-07-10 04:49:37 +02:00
Lennart Poettering
398ef8ba02 dbus: make errors reported via D-Bus more useful 2010-07-08 02:43:18 +02:00
Lennart Poettering
46d95c0fe0 dbus: log received message only once, in filter function 2010-07-08 00:27:09 +02:00
Lennart Poettering
9a1ac7b9ae install: implement --start option 2010-07-06 05:06:40 +02:00
Lennart Poettering
a567261a29 dbus: send signals about jobs to the clients having created them unconditionally, and thus get rid of broadcast signals in most cases 2010-07-05 00:58:07 +02:00
Lennart Poettering
5e8d1c9a9f dbus: to make sure that systemd stays controllable during early bootup, register our services on our own micro usb server in addition to the bus 2010-06-19 03:04:04 +02:00
Lennart Poettering
c87eba546a dbus: add simplified way to start an arbitrary unit in a single method call 2010-06-01 19:47:46 +02:00
Lennart Poettering
4288f61921 dbus: automatically generate and install introspection files 2010-05-23 03:45:33 +02:00
Lennart Poettering
7535cc788e systemctl: add --block switch for synchronous starting of units 2010-05-22 04:27:24 +02:00
Lennart Poettering
bc0f8771f2 unit: add simple only-by-dependency flag for units 2010-05-21 23:41:54 +02:00
Lennart Poettering
e99e38bbdc build-sys: move source files to subdirectory 2010-05-16 18:45:24 +02:00