int
nanosleep(
const struct timespec *rqtp
, struct timespec *rmtp
)
)
suspends execution of the calling process until either the number of
seconds and nanoseconds specified by
rqtp
have elapsed or a signal is delivered to the calling process and its
action is to invoke a signal catching function or to terminate the
process.
The suspension time may be longer than requested due to the
scheduling of other activity by the system.
)
function returns because the requested time has elapsed, the value
returned will be zero.
If the
nanosleep()
function returns due to the delivery of a signal, the value returned
will be the -1, and the global variable
errno
will be set to indicate the interruption.
If
rmtp
is
non-NULL
,
the timespec structure it references is updated to contain the
unslept amount (the request time minus the time actually slept).
EFAULT
]
rqtp
or
rmtp
points to memory that is not a valid part of the process
address space.
EINTR
]
EINVAL
]
rqtp
specified a nanosecond value less than zero or greater than 1000 million.
ENOSYS
]
)
function conforms to
IEEE Std 1003.1b-1993 (``POSIX.1'') .