Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


sd_event_exit(3) — Linux manual page

NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |NOTES |HISTORY |SEE ALSO |COLOPHON

SD_EVENT_EXIT(3)              sd_event_exitSD_EVENT_EXIT(3)

NAME        top

       sd_event_exit, sd_event_get_exit_code - Ask the event loop to exit

SYNOPSIS        top

#include <systemd/sd-event.h>int sd_event_exit(sd_event *event, intcode);int sd_event_get_exit_code(sd_event *event, int *ret);

DESCRIPTION        top

sd_event_exit()requests the event loop specified in theevent       event loop object to exit. Thecode parameter may be any integer       value and is returned as-is bysd_event_loop(3) after the last       event loop iteration. It may also be queried usingsd_event_get_exit_code(), see below.       When exiting is requested the event loop will stop listening for       and dispatching regular event sources. Instead it will proceed       with executing only event sources registered withsd_event_add_exit(3) in the order defined by their priority. After       all exit event sources have been dispatched the event loop is       terminated.       Ifsd_event_exit()is invoked a second time while the event loop       is still processing exit event sources, the exit code stored in       the event loop object is updated, but otherwise no further       operation is executed.sd_event_get_exit_code()may be used to query the exit code passed       to an earlier call ofsd_event_exit(). The return parameterret       may be set toNULL, in order to simply check ifsd_event_exit()       has been called before (assd_event_get_exit_code()fails with-ENODATAif that's not the case, see below).       While the full positive and negative integer ranges may be used       for the exit code, care should be taken not pick exit codes that       conflict with regular exit codes returned bysd_event_loop(), if       these exit codes shall be distinguishable.       Note that for most event source types passing the callback pointer       asNULLin the respective constructor call (i.e. insd_event_add_time(3),sd_event_add_signal(3), ...) has the effect       ofsd_event_exit()being invoked once the event source triggers,       with the specified userdata pointer cast to an integer as the exit       code parameter. This is useful to automatically terminate an event       loop after some condition, such as a timeout or reception ofSIGTERMor similar. See the documentation for the respective       constructor call for details.

RETURN VALUE        top

       On success,sd_event_exit()andsd_event_get_exit_code()return 0       or a positive integer. On failure, they return a negative       errno-style error code.Errors       Returned errors may indicate the following problems:-EINVAL           The event loop object or error code pointer are invalid.-ECHILD           The event loop was created in a different process, library or           module instance.-ESTALE           The event loop has exited already and all exit handlers are           already processed.-ENODATA           Returned bysd_event_get_exit_code()in case the event loop           has not been requested to exit yet.

NOTES        top

       Functions described here are available as a shared library, which       can be compiled against and linked to with thelibsystemd pkg-config(1) file.       The code described here usesgetenv(3), which is declared to be       not multi-thread-safe. This means that the code calling the       functions described here must not callsetenv(3) from a parallel       thread. It is recommended to only do calls tosetenv()from an       early phase of the program when no other threads have been       started.

HISTORY        top

sd_event_exit()andsd_event_get_exit_code()were added in version       229.

SEE ALSO        top

systemd(1),sd-event(3),sd_event_new(3),sd_event_add_exit(3),sd_event_add_time(3),sd_event_add_signal(3),sd_event_add_io(3),sd_event_add_defer(3),sd_event_add_inotify(3)

COLOPHON        top

       This page is part of thesystemd (systemd system and service       manager) project.  Information about the project can be found at       ⟨http://www.freedesktop.org/wiki/Software/systemd⟩.  If you have a       bug report for this manual page, see       ⟨http://www.freedesktop.org/wiki/Software/systemd/#bugreports⟩.       This page was obtained from the project's upstream Git repository       ⟨https://github.com/systemd/systemd.git⟩ on 2025-08-11.  (At that       time, the date of the most recent commit that was found in the       repository was 2025-08-11.)  If you discover any rendering       problems in this HTML version of the page, or you believe there is       a better or more up-to-date source for the page, or you have       corrections or improvements to the information in this COLOPHON       (which isnot part of the original manual page), send a mail to       man-pages@man7.orgsystemd 258~rc2SD_EVENT_EXIT(3)

Pages that refer to this page:sd_bus_set_exit_on_disconnect(3)sd-event(3)sd_event_add_child(3)sd_event_add_defer(3)sd_event_add_inotify(3)sd_event_add_io(3)sd_event_add_signal(3)sd_event_add_time(3)sd_event_run(3)sd_event_source_set_exit_on_failure(3)sd_event_wait(3)systemd.directives(7)systemd.index(7)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp