]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - man/sd_event_wait.xml
test/test-functions: avoid stderr noise, only umount on cleanup if mountpoint
[thirdparty/systemd.git] / man / sd_event_wait.xml
index 1eefa807003acad4d81b8eb7e5671bddffc7fb34..210a0c948d02d8b36a9b4b1b74cbd75d701d55b6 100644 (file)
@@ -1,40 +1,13 @@
-<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
-<!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 2015 Zbigniew JÄ™drzejewski-Szmek
-
-  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/>.
--->
+<?xml version='1.0'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<!-- SPDX-License-Identifier: LGPL-2.1+ -->
 
 <refentry id="sd_event_wait" xmlns:xi="http://www.w3.org/2001/XInclude">
 
   <refentryinfo>
     <title>sd_event_wait</title>
     <productname>systemd</productname>
-
-    <authorgroup>
-      <author>
-        <contrib>Developer</contrib>
-        <firstname>Tom</firstname>
-        <surname>Gundersen</surname>
-        <email>teg@jklm.no</email>
-      </author>
-    </authorgroup>
   </refentryinfo>
 
   <refmeta>
@@ -47,6 +20,7 @@
     <refname>sd_event_prepare</refname>
     <refname>sd_event_dispatch</refname>
     <refname>sd_event_get_state</refname>
+    <refname>sd_event_get_iteration</refname>
     <refname>SD_EVENT_INITIAL</refname>
     <refname>SD_EVENT_PREPARING</refname>
     <refname>SD_EVENT_ARMED</refname>
         <paramdef>sd_event *<parameter>event</parameter></paramdef>
       </funcprototype>
 
+      <funcprototype>
+        <funcdef>int <function>sd_event_get_iteration</function></funcdef>
+        <paramdef>sd_event *<parameter>event</parameter></paramdef>
+        <paramdef>uint64_t *<parameter>ret</parameter></paramdef>
+      </funcprototype>
+
     </funcsynopsis>
   </refsynopsisdiv>
 
     and
     <citerefentry><refentrytitle>sd_event_loop</refentrytitle><manvolnum>3</manvolnum></citerefentry>
     for higher-level functions that execute individual but complete
-    iterations of an event loop or run it continously.</para>
+    iterations of an event loop or run it continuously.</para>
 
     <para><function>sd_event_prepare()</function> checks for pending
     events and arms necessary timers. If any events are ready to be
     determine the state the event loop is currently in. It returns one
     of the states described below.</para>
 
-    <para>All four functions take, as the first argument, the event
-    loop object <parameter>event</parameter> that has been created
-    with <function>sd_event_new()</function>. The timeout for
-    <function>sd_event_wait()</function> is specified in
-    <parameter>usec</parameter> in milliseconds.  <constant>(uint64_t)
-    -1</constant> may be used to specify an infinite timeout.</para>
+    <para><function>sd_event_get_iteration()</function> may be used to determine the current iteration of the event
+    loop. It returns an unsigned 64bit integer containing a counter that increases monotonically with each iteration of
+    the event loop, starting with 0. The counter is increased at the time of the
+    <function>sd_event_prepare()</function> invocation.</para>
+
+    <para>All five functions take, as the first argument, the event loop object <parameter>event</parameter> that has
+    been created with <function>sd_event_new()</function>. The timeout for <function>sd_event_wait()</function> is
+    specified in <parameter>usec</parameter> in microseconds.  <constant>(uint64_t) -1</constant> may be used to
+    specify an infinite timeout.</para>
 </refsect1>
 
   <refsect1>
         <term><constant>SD_EVENT_PREPARING</constant></term>
 
         <listitem><para>An event source is currently being prepared,
-        i.e. the preparation handler is currently being excuted, as
+        i.e. the preparation handler is currently being executed, as
         set with
-        <citerefentry><refentrytitle>sd_event_set_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry>. This
+        <citerefentry><refentrytitle>sd_event_source_set_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry>. This
         state is only seen in the event source preparation handler
         that is invoked from the
         <function>sd_event_prepare()</function> call and is
   <refsect1>
     <title>Return Value</title>
 
-    <para>On success, these functions return 0 or a positive integer.
-    On failure, they return a negative errno-style error code. In case
-    of <function>sd_event_prepare()</function> and
-    <function>sd_event_wait()</function>, a positive, non-zero return
-    code indicates that events are ready to be processed and zero
-    indicates that no events are ready. In case of
-    <function>sd_event_dispatch()</function>, a positive, non-zero
-    return code indicates that the event loop returned to its initial
-    state and zero indicates the event loop has
-    exited. <function>sd_event_get_state()</function> returns a
-    positive or zero state on success.</para>
-  </refsect1>
+    <para>On success, these functions return 0 or a positive integer.  On failure, they return a negative
+    errno-style error code. In case of <function>sd_event_prepare()</function> and
+    <function>sd_event_wait()</function>, a positive, non-zero return code indicates that events are ready to
+    be processed and zero indicates that no events are ready. In case of
+    <function>sd_event_dispatch()</function>, a positive, non-zero return code indicates that the event loop
+    returned to its initial state and zero indicates the event loop has
+    exited. <function>sd_event_get_state()</function> returns a positive or zero state on success.</para>
 
-  <refsect1>
-    <title>Errors</title>
+    <refsect2>
+      <title>Errors</title>
 
-    <para>Returned errors may indicate the following problems:</para>
+      <para>Returned errors may indicate the following problems:</para>
 
-    <variablelist>
-      <varlistentry>
-        <term><constant>-EINVAL</constant></term>
+      <variablelist>
+        <varlistentry>
+          <term><constant>-EINVAL</constant></term>
 
-        <listitem><para>The <parameter>event</parameter> parameter is
-        invalid or <constant>NULL</constant>.</para></listitem>
-      </varlistentry>
+          <listitem><para>The <parameter>event</parameter> parameter is invalid or <constant>NULL</constant>.
+          </para></listitem>
+        </varlistentry>
 
-      <varlistentry>
-        <term><constant>-EBUSY</constant></term>
+        <varlistentry>
+          <term><constant>-EBUSY</constant></term>
 
-        <listitem><para>The event loop object is not in the right
-        state.</para></listitem>
-      </varlistentry>
+          <listitem><para>The event loop object is not in the right state.</para></listitem>
+        </varlistentry>
 
-      <varlistentry>
-        <term><constant>-ESTALE</constant></term>
+        <varlistentry>
+          <term><constant>-ESTALE</constant></term>
 
-        <listitem><para>The event loop is already terminated.</para></listitem>
+          <listitem><para>The event loop is already terminated.</para></listitem>
 
-      </varlistentry>
+        </varlistentry>
 
-      <varlistentry>
-        <term><constant>-ECHILD</constant></term>
+        <varlistentry>
+          <term><constant>-ECHILD</constant></term>
 
-        <listitem><para>The event loop has been created in a different process.</para></listitem>
+          <listitem><para>The event loop has been created in a different process.</para></listitem>
 
-      </varlistentry>
+        </varlistentry>
 
-    </variablelist>
+      </variablelist>
 
-    <para>Other errors are possible, too.</para>
+      <para>Other errors are possible, too.</para>
+    </refsect2>
   </refsect1>
 
   <xi:include href="libsystemd-pkgconfig.xml" />
       <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_inotify</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
-      <citerefentry><refentrytitle>sd_event_add_post</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_event_run</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_event_get_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_event_source_set_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry>