explain_nanosleep_or_die - high‐resolution sleep and report errors
#include <libexplain/nanosleep.h>
void explain_nanosleep_or_die(const struct timespec *req, struct timespec *rem);
int explain_nanosleep_on_error(const struct timespec *req, struct timespec
*rem);
The
explain_nanosleep_or_die function is used to call the
nanosleep(2) system call. On failure an explanation will be printed to
stderr, obtained from the
explain_nanosleep(3) function, and
then the process terminates by calling exit(EXIT_FAILURE).
The
explain_nanosleep_on_error function is used to call the
nanosleep(2) system call. On failure an explanation will be printed to
stderr, obtained from the
explain_nanosleep(3) function, but
still returns to the caller.
- req
- The req, exactly as to be passed to the nanosleep(2) system
call.
- rem
- The rem, exactly as to be passed to the nanosleep(2) system
call.
The
explain_nanosleep_or_die function only returns on success, see
nanosleep(2) for more information. On failure, prints an explanation
and exits, it does not return.
The
explain_nanosleep_on_error function always returns the value return
by the wrapped
nanosleep(2) system call.
The
explain_nanosleep_or_die function is intended to be used in a fashion
similar to the following example:
explain_nanosleep_or_die(req, rem);
- nanosleep(2)
- high‐resolution sleep
- explain_nanosleep(3)
- explain nanosleep(2) errors
- exit(2)
- terminate the calling process
libexplain version 1.3
Copyright (C) 2013 Peter Miller