[systemd-commits] 5 commits - Makefile-man.am TODO man/sd_bus_message_get_monotonic_usec.xml man/sd_bus_negotiate_fds.xml man/sd_event_new.xml src/libsystemd
Lennart Poettering
lennart at kemper.freedesktop.org
Sun Apr 13 17:43:01 PDT 2014
Makefile-man.am | 17 ++
TODO | 10 +
man/sd_bus_message_get_monotonic_usec.xml | 13 +-
man/sd_bus_negotiate_fds.xml | 4
man/sd_event_new.xml | 181 ++++++++++++++++++++++++++++++
src/libsystemd/sd-daemon/Makefile | 1
6 files changed, 221 insertions(+), 5 deletions(-)
New commits:
commit 6e0369b0ff3909baec25c6ab31b5ddf5c4ae0f3f
Author: Lennart Poettering <lennart at poettering.net>
Date: Sun Apr 13 17:42:11 2014 -0700
man: explain that the timestamps on incoming kdbus messages are not necessarily monotonically increasing
diff --git a/man/sd_bus_message_get_monotonic_usec.xml b/man/sd_bus_message_get_monotonic_usec.xml
index 683931c..0a11a31 100644
--- a/man/sd_bus_message_get_monotonic_usec.xml
+++ b/man/sd_bus_message_get_monotonic_usec.xml
@@ -92,9 +92,10 @@
<para><function>sd_bus_message_get_seqnum()</function>
returns the kernel-assigned sequence number of the
- message. The kernel assigns a global monotonically increasing
- sequence number to all messages sent on the local
- system. This sequence number is useful for determining
+ message. The kernel assigns a global, monotonically
+ increasing sequence number to all messages transmitted
+ on the local system, at the time the message was
+ sent. This sequence number is useful for determining
message send order, even across different busses of
the local system. The sequence number combined with
the boot ID of the system (as returned by
@@ -102,6 +103,12 @@
is a suitable globally unique identifier for bus
messages.</para>
+ <para>Note that the sending order and receiving order
+ of messages might differ, in particular for broadcast
+ messages. This means that the sequence number and the
+ timestamps of messages a client reads are not
+ necessarily monotonically increasing.</para>
+
<para>These timestamps and the sequence number are
attached to each message by the kernel and cannot be
manipulated by the sender.</para>
commit 11fb37f16ed99c1603c9d770b60ce4953b96a58d
Author: Lennart Poettering <lennart at poettering.net>
Date: Sun Apr 13 17:41:51 2014 -0700
update TODO
diff --git a/TODO b/TODO
index 6bfaa59..744982e 100644
--- a/TODO
+++ b/TODO
@@ -32,6 +32,14 @@ External:
Features:
+* sd-resolve: add callback api
+
+* ImmutableSystem=yes/no or so to mount /usr, /boot read-only/invisible, and leave /var and /etc writable
+
+* InaccessibleHome=yes/no or so to hide /home and /run/user from a service
+
+* Run most system services with cgroupfs read-only and procfs with a more secure mode
+
* sd-event: generate a failure of a default event loop is executed out-of-thread
* add "M" as recursive version of "m" to tmpfiles, then use it for
commit bdb65e785ae2a312b452e6e3f17c1506b0fbe8c1
Author: Lennart Poettering <lennart at poettering.net>
Date: Tue Apr 1 19:13:42 2014 +0200
build-sys: add Makefile symlink
diff --git a/src/libsystemd/sd-daemon/Makefile b/src/libsystemd/sd-daemon/Makefile
new file mode 120000
index 0000000..d0b0e8e
--- /dev/null
+++ b/src/libsystemd/sd-daemon/Makefile
@@ -0,0 +1 @@
+../Makefile
\ No newline at end of file
commit 01083ad094664e5c685060f4fb35a05ea2f212ed
Author: Lennart Poettering <lennart at poettering.net>
Date: Tue Apr 1 19:13:22 2014 +0200
update TODO
diff --git a/TODO b/TODO
index a7307f7..6bfaa59 100644
--- a/TODO
+++ b/TODO
@@ -32,6 +32,8 @@ External:
Features:
+* sd-event: generate a failure of a default event loop is executed out-of-thread
+
* add "M" as recursive version of "m" to tmpfiles, then use it for
chowning /run/log/journal (but not /var/log/journal), so that we
adjust the perms of journal files created before tmpfiles ran.
commit faae655de3cdbed4be1d472b01ce0c4d81e905ed
Author: Lennart Poettering <lennart at poettering.net>
Date: Tue Apr 1 19:12:59 2014 +0200
man: add man page for sd_event_new()
diff --git a/Makefile-man.am b/Makefile-man.am
index d772def..90d32c5 100644
--- a/Makefile-man.am
+++ b/Makefile-man.am
@@ -703,6 +703,7 @@ MANPAGES += \
man/sd_bus_open_user.3 \
man/sd_bus_path_encode.3 \
man/sd_bus_request_name.3 \
+ man/sd_event_new.3 \
man/systemd-bus-proxyd.8 \
man/systemd-bus-proxyd at .service.8
MANPAGES_ALIAS += \
@@ -760,6 +761,9 @@ MANPAGES_ALIAS += \
man/sd_bus_ref.3 \
man/sd_bus_release_name.3 \
man/sd_bus_unref.3 \
+ man/sd_event_default.3 \
+ man/sd_event_ref.3 \
+ man/sd_event_unref.3 \
man/systemd-bus-proxyd.socket.8
man/sd_bus_creds_get_audit_login_uid.3: man/sd_bus_creds_get_pid.3
man/sd_bus_creds_get_audit_session_id.3: man/sd_bus_creds_get_pid.3
@@ -815,6 +819,9 @@ man/sd_bus_path_decode.3: man/sd_bus_path_encode.3
man/sd_bus_ref.3: man/sd_bus_new.3
man/sd_bus_release_name.3: man/sd_bus_request_name.3
man/sd_bus_unref.3: man/sd_bus_new.3
+man/sd_event_default.3: man/sd_event_new.3
+man/sd_event_ref.3: man/sd_event_new.3
+man/sd_event_unref.3: man/sd_event_new.3
man/systemd-bus-proxyd.socket.8: man/systemd-bus-proxyd at .service.8
man/sd_bus_creds_get_audit_login_uid.html: man/sd_bus_creds_get_pid.html
$(html-alias)
@@ -978,6 +985,15 @@ man/sd_bus_release_name.html: man/sd_bus_request_name.html
man/sd_bus_unref.html: man/sd_bus_new.html
$(html-alias)
+man/sd_event_default.html: man/sd_event_new.html
+ $(html-alias)
+
+man/sd_event_ref.html: man/sd_event_new.html
+ $(html-alias)
+
+man/sd_event_unref.html: man/sd_event_new.html
+ $(html-alias)
+
man/systemd-bus-proxyd.socket.html: man/systemd-bus-proxyd at .service.html
$(html-alias)
@@ -1446,6 +1462,7 @@ EXTRA_DIST += \
man/sd_bus_open_user.xml \
man/sd_bus_path_encode.xml \
man/sd_bus_request_name.xml \
+ man/sd_event_new.xml \
man/sd_get_seats.xml \
man/sd_id128_get_machine.xml \
man/sd_id128_randomize.xml \
diff --git a/man/sd_bus_negotiate_fds.xml b/man/sd_bus_negotiate_fds.xml
index 38e1fad..c206194 100644
--- a/man/sd_bus_negotiate_fds.xml
+++ b/man/sd_bus_negotiate_fds.xml
@@ -24,7 +24,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<refentry id="sd_bus_negotiate_fds" conditional="ENABLE_KDBUS">
<refentryinfo>
- <title>sd_bus_new</title>
+ <title>sd_bus_negotiate_fds</title>
<productname>systemd</productname>
<authorgroup>
@@ -132,7 +132,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>.
<title>Return Value</title>
<para>On success, these functions returns 0 or a
- positive integer. On failure, it returns a negative errno-style
+ positive integer. On failure, they return a negative errno-style
error code.</para>
</refsect1>
diff --git a/man/sd_event_new.xml b/man/sd_event_new.xml
new file mode 100644
index 0000000..1fe1820
--- /dev/null
+++ b/man/sd_event_new.xml
@@ -0,0 +1,181 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+This file is part of systemd.
+
+Copyright 2014 Lennart Poettering
+
+systemd is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 2.1 of the License, or
+(at your option) any later version.
+
+systemd is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="sd_event_new" conditional="ENABLE_KDBUS">
+
+ <refentryinfo>
+ <title>sd_event_new</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Lennart</firstname>
+ <surname>Poettering</surname>
+ <email>lennart at poettering.net</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>sd_event_new</refentrytitle>
+ <manvolnum>3</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>sd_event_new</refname>
+ <refname>sd_event_default</refname>
+ <refname>sd_event_ref</refname>
+ <refname>sd_event_unref</refname>
+
+ <refpurpose>Acquire and release an event loop object</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo>
+
+ <funcprototype>
+ <funcdef>int <function>sd_event_new</function></funcdef>
+ <paramdef>sd_bus **<parameter>event</parameter></paramdef>
+ </funcprototype>
+
+ <funcprototype>
+ <funcdef>int <function>sd_event_default</function></funcdef>
+ <paramdef>sd_bus **<parameter>event</parameter></paramdef>
+ </funcprototype>
+
+ <funcprototype>
+ <funcdef>sd_bus *<function>sd_event_ref</function></funcdef>
+ <paramdef>sd_bus *<parameter>event</parameter></paramdef>
+ </funcprototype>
+
+ <funcprototype>
+ <funcdef>sd_bus *<function>sd_event_unref</function></funcdef>
+ <paramdef>sd_bus *<parameter>event</parameter></paramdef>
+ </funcprototype>
+
+ </funcsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para><function>sd_event_new()</function> allocates a new event
+ loop object. The event loop object is returned in the
+ <parameter>event</parameter> parameter. After use drop
+ the returned reference with
+ <function>sd_event_unref()</function>. When the last reference is
+ dropped the event loop is freed.</para>
+
+ <para><function>sd_event_default()</function> acquires a reference
+ to the default event loop object of the calling thread, possibly
+ allocating a new object if no default event loop object has been
+ allocated yet for the thread. After use drop the returned
+ referened with <function>sd_event_unref()</function>. When the
+ last reference is dropped the event loop is freed. If this
+ function is called while the object returned from a previous call
+ from the same thread is still referenced, the same object is
+ returned again, but the reference is increased by one. It is
+ recommended to use this call instead of
+ <function>sd_event_new()</function> in order to share event loop
+ objects between various components that are dispatched in the same
+ thread. All threads either have no or one default event loops
+ associated, but never more.</para>
+
+ <para><function>sd_event_ref()</function> increases the reference
+ counter of the specified event loop object by one.</para>
+
+ <para><function>sd_event_unref()</function> decreases the
+ reference counter of the specified event loop object by one. If
+ the counter hits zero the event loop object is freed. Not that it
+ is freed regardless if it is the default event loop object of a
+ thread or not. This means that allocating an event loop with
+ <function>sd_event_default()</function>, then releasing it and
+ then acquiring a new one with
+ <function>sd_event_default()</function> will result in two
+ distinct objects. Note that in order to free an event loop object
+ all remaining event sources of the event loop also need to be
+ freed as they each keep a reference to it.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Return Value</title>
+
+ <para>On success, <function>sd_event_new()</function> and
+ <function>sd_event_default()</function> return 0 or a positive
+ integer. On failure, they return a negative errno-style error
+ code. <function>sd_event_ref()</function> always returns a pointer
+ to the event loop object passed
+ in. <function>sd_event_unref()</function> always returns
+ NULL.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>Errors</title>
+
+ <para>Returned errors may indicate the following problems:</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><varname>-ENOMEM</varname></term>
+
+ <listitem><para>Not enough memory to allocate object</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><varname>-EMFILE</varname></term>
+
+ <listitem><para>The maximum number of event loops has been allocated.</para></listitem>
+
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>Notes</title>
+
+ <para><function>sd_event_new()</function> and the other functions
+ described here are available as a shared library, which can be
+ compiled and linked to with the
+ <constant>libsystemd</constant>Â <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ file.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+
+ <para>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_event_add_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_event_add_post</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+</refentry>
More information about the systemd-commits
mailing list