]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
man: mention that SIGCHLD has to be blocked before using sd_event_add_child()
authorLennart Poettering <lennart@poettering.net>
Wed, 30 Oct 2019 17:59:44 +0000 (18:59 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 4 Dec 2019 09:35:56 +0000 (10:35 +0100)
man/sd_event_add_child.xml

index 509803d5c170272f66c5b84c0d1c2e9b4965243a..c146e3121ba4427cdc008f03cb965d3b34f8284d 100644 (file)
     <constant>SD_EVENT_OFF</constant> with
     <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
 
+    <para>The <constant>SIGCHLD</constant> signal must be blocked in all threads before this function is
+    called (using <citerefentry
+    project='man-pages'><refentrytitle>sigprocmask</refentrytitle><manvolnum>2</manvolnum></citerefentry> or
+    <citerefentry
+    project='man-pages'><refentrytitle>pthread_sigmask</refentrytitle><manvolnum>3</manvolnum></citerefentry>).</para>
+
     <para>If the second parameter of
     <function>sd_event_add_child()</function> is passed as NULL no
     reference to the event source object is returned. In this case the
         <varlistentry>
           <term><constant>-EBUSY</constant></term>
 
-          <listitem><para>A handler is already installed for this
-          child process.</para></listitem>
+          <listitem><para>A handler is already installed for this child process, or
+          <constant>SIGCHLD</constant> is not blocked.</para></listitem>
 
         </varlistentry>
 
       <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_event_source_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>sd_event_source_set_floating</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
-      <citerefentry project='man-pages'><refentrytitle>waitid</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+      <citerefentry project='man-pages'><refentrytitle>waitid</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>sigprocmask</refentrytitle><manvolnum>2</manvolnum></citerefentry>,
+      <citerefentry project='man-pages'><refentrytitle>pthread_sigmask</refentrytitle><manvolnum>3</manvolnum></citerefentry>
     </para>
   </refsect1>