X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsd_watchdog_enabled.xml;h=b9670e8bf903a736d1ac9ce524e0b442c9ab1689;hp=e42ae430ece19f43cb403e8c7d9c2a8cd8a5baae;hb=7b4a8335022121d06336eae363f3d7fcbcac1c45;hpb=09812eb764b440651f3ff4cb5d37bd343f800560 diff --git a/man/sd_watchdog_enabled.xml b/man/sd_watchdog_enabled.xml index e42ae430e..b9670e8bf 100644 --- a/man/sd_watchdog_enabled.xml +++ b/man/sd_watchdog_enabled.xml @@ -1,198 +1,175 @@ + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - - - - sd_watchdog_enabled - systemd - - - - Developer - Lennart - Poettering - lennart@poettering.net - - - - - - sd_watchdog_enabled - 3 - - - - sd_watchdog_enabled - Check whether the service manager expects watchdog keep-alive notifications from a service - - - - - #include <systemd/sd-daemon.h> - - - int sd_watchdog_enabled - int unset_environment - const uint64_t *usec - - - - - - Description - sd_watchdog_enabled() may - be called by a service to detect whether the service - manager expects regular keep-alive watchdog - notification events from it, and the timeout after - which the manager will act on the service if it did - not get such a notification. - - If the unset_environment - parameter is non-zero, - sd_watchdog_enabled() will unset - the $WATCHDOG_USEC and - $WATCHDOG_PID environment variables - before returning (regardless whether the function call - itself succeeded or not). Further calls to - sd_watchdog_enabled() will then - return with zero, but the variable is no longer - inherited by child processes. - - If the usec parameter is - non-NULL sd_watchdog_enabled() - will return the timeout in µs for the watchdog - logic. The service manager will usually terminate a - service when it did not get a notification message - within the specified time after startup and after each - previous message. It is recommended that a daemon - sends a keep-alive notification message to the service - manager every half of the time returned - here. Notification messages may be sent with - sd_notify3 - with a message string of - WATCHDOG=1. - - To enable service supervision with the watchdog - logic use WatchdogSec= in service - files. See - systemd.service5 - for details. - - - - Return Value - - On failure, this call returns a negative - errno-style error code. If the service manager expects - watchdog keep-alive notification messages to be sent, - > 0 is returned, otherwise 0 is returned. Only if - the return value is > 0 the - usec parameter is valid after - the call. - - - - Notes - - This function is provided by the reference - implementation of APIs for new-style daemons and - distributed with the systemd package. The algorithm - it implements is simple, and can easily be - reimplemented in daemons if it is important to support - this interface without using the reference - implementation. - - Internally, this functions parses the - $WATCHDOG_PID and - $WATCHDOG_USEC environment - variable. The call will ignore these variables if - $WATCHDOG_PID does containe the PID - of the current process, under the assumption that in - that case the variables were set for a different - process further up the process tree. - - For details about the algorithm check the - liberally licensed reference implementation sources: - - and - - sd_watchdog_enabled() is - implemented in the reference implementation's - sd-daemon.c and - sd-daemon.h files. These - interfaces are available as shared library, which can - be compiled and linked to with the - libsystemd-daemon pkg-config1 - file. Alternatively, applications consuming these APIs - may copy the implementation into their source - tree. For more details about the reference - implementation see - sd-daemon3. - - If the reference implementation is used as - drop-in files and -DDISABLE_SYSTEMD is set during - compilation, these functions will always return 0 and - otherwise become a NOP. - - - - Environment - - - - $WATCHDOG_PID - - Set by the system - manager for supervised process for - which watchdog support is enabled, and - contains the PID of that process. See - above for details. - - - - $WATCHDOG_USEC - - Set by the system - manager for supervised process for - which watchdog support is enabled, and - contains the watchdog timeout in µs - See above for - details. - - - - - - See Also - - systemd1, - sd-daemon3, - daemon7, - systemd.service5, - sd_notify3 - - + + + + sd_watchdog_enabled + elogind + + + + Developer + Lennart + Poettering + lennart@poettering.net + + + + + + sd_watchdog_enabled + 3 + + + + sd_watchdog_enabled + Check whether the service manager expects watchdog keep-alive notifications from a service + + + + + #include <elogind/sd-daemon.h> + + + int sd_watchdog_enabled + int unset_environment + uint64_t *usec + + + + + + Description + sd_watchdog_enabled() may be called by + a service to detect whether the service manager expects regular + keep-alive watchdog notification events from it, and the timeout + after which the manager will act on the service if it did not get + such a notification. + + If the $WATCHDOG_USEC environment + variable is set, and the $WATCHDOG_PID variable + is unset or set to the PID of the current process, the service + manager expects notifications from this process. The manager will + usually terminate a service when it does not get a notification + message within the specified time after startup and after each + previous message. It is recommended that a daemon sends a + keep-alive notification message to the service manager every half + of the time returned here. Notification messages may be sent with + sd_notify3 + with a message string of WATCHDOG=1. + + If the unset_environment parameter is + non-zero, sd_watchdog_enabled() will unset + the $WATCHDOG_USEC and + $WATCHDOG_PID environment variables before + returning (regardless of whether the function call itself + succeeded or not). Those variables are no longer inherited by + child processes. Further calls to + sd_watchdog_enabled() will also return with + zero. + + If the usec parameter is non-NULL, + sd_watchdog_enabled() will write the timeout + in µs for the watchdog logic to it. + + To enable service supervision with the watchdog logic, use + WatchdogSec= in service files. See + logind.service5 + for details. + + + + Return Value + + On failure, this call returns a negative errno-style error + code. If the service manager expects watchdog keep-alive + notification messages to be sent, > 0 is returned, otherwise 0 + is returned. Only if the return value is > 0, the + usec parameter is valid after the + call. + + + + Notes + + + + Internally, this functions parses the + $WATCHDOG_PID and + $WATCHDOG_USEC environment variable. The call + will ignore these variables if $WATCHDOG_PID + does not contain the PID of the current process, under the + assumption that in that case, the variables were set for a + different process further up the process tree. + + + + Environment + + + + $WATCHDOG_PID + + Set by the system manager for supervised + process for which watchdog support is enabled, and contains + the PID of that process. See above for + details. + + + + $WATCHDOG_USEC + + Set by the system manager for supervised + process for which watchdog support is enabled, and contains + the watchdog timeout in µs See above for + details. + + + + + + History + + The watchdog functionality and the + $WATCHDOG_USEC variable were added in + elogind-41. + + sd_watchdog_enabled() function was + added in elogind-209. Since that version the + $WATCHDOG_PID variable is also set. + + + + See Also + + elogind8, + sd-daemon3, + daemon7, + logind.service5, + sd_notify3 + +