The
nanosleep ();
system call
causes the process to sleep for the specified time.
An unmasked signal will
cause it to terminate the sleep early, regardless of the
SA_RESTART
value on the interrupting signal.
RETURN VALUES
If the
nanosleep ();
system call returns because the requested time has elapsed, the value
returned will be zero.
If the
nanosleep ();
system call returns due to the delivery of a signal, the value returned
will be -1, and the global variable
errno
will be set to indicate the interruption.
If
Fa rmtp
is
non- NULL
the timespec structure it references is updated to contain the
unslept amount (the request time minus the time actually slept).
ERRORS
The
nanosleep ();
system call fails if:
Bq Er EFAULT
Either
Fa rqtp
or
Fa rmtp
points to memory that is not a valid part of the process
address space.
Bq Er EINTR
The
nanosleep ();
system call
was interrupted by the delivery of a signal.
Bq Er EINVAL
The
Fa rqtp
argument
specified a nanosecond value less than zero
or greater than or equal to 1000 million.
Bq Er ENOSYS
The
nanosleep ();
system call
is not supported by this implementation.