1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-07 01:27:11 +03:00
Commit Graph

26 Commits

Author SHA1 Message Date
Michal Schmidt
d200735e13 dbus: more efficient implementation of properties
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-16 13:34:42 +01:00
Michal Schmidt
ac155bb885 unit: remove union Unit
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-16 13:34:42 +01:00
Lennart Poettering
271b032a05 socket: rename the PassCred= option to PassCredentials=, since we don't want to needlessly abbreviate options unless they are very well established 2011-12-31 01:07:49 +01:00
Michal Schmidt
d68af58657 socket: add option for SO_PASSCRED
Add an option to enable SO_PASSCRED for unix sockets.
2011-11-30 09:52:34 +01:00
Lennart Poettering
cb4fdfc1b7 socket: expose mq params in introspection data 2011-05-22 00:29:52 +02:00
Kay Sievers
572481b909 bus_property_append_long: use signed long and 'x' in the signature for DBUS_TYPE_INT64 2011-05-21 23:18:38 +02:00
Lennart Poettering
ec6370a22d socket: expose SO_BROADCAST 2011-05-19 18:10:19 +02:00
Lennart Poettering
6b6d2deecc socket: expose IP_TRANSPARENT 2011-05-19 13:22:31 +02:00
Lennart Poettering
916abb21d0 socket: add POSIX mqueue support 2011-05-17 19:37:03 +02:00
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
05feefe0fb dbus: properly generate UnknownInterface, UnknownProperty and PropertyReadOnly errors 2011-03-09 20:01:53 +01:00
Lennart Poettering
34df5a34e1 drop unnecessary suffix NULs as gcc adds them anyway 2011-03-09 19:48:02 +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
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
2e22afe909 execute: add ability to configure the kill signal 2010-07-10 04:49:37 +02:00
Lennart Poettering
fe68089df6 dbus: complete exec command coverage 2010-07-04 20:38:14 +02:00
Lennart Poettering
4e1e43c8f0 dbus: complete socket unit coverage 2010-07-04 05:07:31 +02:00
Lennart Poettering
2419cc5bdb socket: fix D-Bus introspection data 2010-07-01 01:07:13 +02:00
Lennart Poettering
4fd5948e74 socket: make various socket/pipe options configurable 2010-07-01 00:29:17 +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
df1f0afe0c tcpwrap: execute tcpwrap check in forked client, to avoid blocking name lookups in main systemd process 2010-06-16 16:27:24 +02:00
Lennart Poettering
0213c3f810 socket: add optional libwrap support 2010-06-16 15:41:29 +02:00
Lennart Poettering
4288f61921 dbus: automatically generate and install introspection files 2010-05-23 03:45:33 +02:00
Lennart Poettering
c0120d992c socket: fix parsing of bind_ipv6_only 2010-05-21 23:41:25 +02:00
Lennart Poettering
e99e38bbdc build-sys: move source files to subdirectory 2010-05-16 18:45:24 +02:00