summaryrefslogtreecommitdiff
path: root/man/sd_event_add_signal.xml
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-10-02 09:51:36 +0200
committerLennart Poettering <lennart@poettering.net>2020-10-07 09:40:16 +0200
commitb9350e70aa050d97c47ff59994e84fa8c3de4738 (patch)
tree467bb5ba1acd7393c22cab9c002955d560b5a9b3 /man/sd_event_add_signal.xml
parentbac0bfc1d0ee1e57055dffb78c77a1ee021ce536 (diff)
downloadsystemd-b9350e70aa050d97c47ff59994e84fa8c3de4738.tar.gz
sd-event: support callback=NULL in IO/child/inotify/defer event sources, too
Also, document this functionality more prominently, including with a reference from sd_event_exit(). This is mostly to make things complete, as previously we supported NULL callbacks only in _add_time() and _add_signal(). However, I think this makes snese for IO event sources too (think: when some fd such as a pipe end sees SIGHUP or so, exit), as well as defer or post event sources (i.e. exit once we got nothing else to do). This also adds support for inotify event sources, simply to complete things (I can't see the immediate use, but maybe someone else comes up with it). The only event source type that doesn't allow callback=NULL now are exit callbacks, but for them they make little sense, as the event loop is exiting then anyway.
Diffstat (limited to 'man/sd_event_add_signal.xml')
-rw-r--r--man/sd_event_add_signal.xml10
1 files changed, 7 insertions, 3 deletions
diff --git a/man/sd_event_add_signal.xml b/man/sd_event_add_signal.xml
index 43794bd7ce..85de53120f 100644
--- a/man/sd_event_add_signal.xml
+++ b/man/sd_event_add_signal.xml
@@ -79,9 +79,7 @@
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>). If
- the handler is not specified (<parameter>handler</parameter> is <constant>NULL</constant>), a default
- handler which causes the program to exit cleanly will be used.</para>
+ project='man-pages'><refentrytitle>pthread_sigmask</refentrytitle><manvolnum>3</manvolnum></citerefentry>).</para>
<para>By default, the event source is enabled permanently
(<constant>SD_EVENT_ON</constant>), but this may be changed with
@@ -107,6 +105,12 @@
"floating", and will be destroyed implicitly when the event loop
itself is destroyed.</para>
+ <para>If the <parameter>handler</parameter> parameter to <function>sd_event_add_signal()</function> is
+ <constant>NULL</constant>, and the event source fires, this will be considered a request to exit the
+ event loop. In this case, the <parameter>userdata</parameter> parameter, cast to an integer, is passed as
+ the exit code parameter to
+ <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
+
<para><function>sd_event_source_get_signal()</function> returns
the configured signal number of an event source created previously
with <function>sd_event_add_signal()</function>. It takes the