MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                  clocknanosleep(3C)



NAME
     clocknanosleep - high  resolution  sleep  with  specifiable
     clock

SYNOPSIS
     #include 

     int clocknanosleep(clockidt clockid, int flags,
          const struct timespec *rqtp, struct timespec *rmtp);


DESCRIPTION
     If the flag TIMERABSTIME is not set in the flags  argument,
     the  clocknanosleep() function causes the current thread to
     be suspended from execution until either the  time  interval
     specified  by  the rqtp argument has elapsed, or a signal is
     delivered to the calling thread and its action is to  invoke
     a  signal-catching  function,  or the process is terminated.
     The clock used to measure the time is the clock specified by
     clockid.


     If the flag TIMERABSTIME is set in the flags argument,  the
     clocknanosleep()  function  causes the current thread to be
     suspended from execution until either the time value of  the
     clock specified by clockid reaches the absolute time speci-
     fied by the rqtp argument, or a signal is delivered  to  the
     calling thread and its action is to invoke a signal-catching
     function, or the process is terminated. If, at the  time  of
     the  call,  the time value specified by rqtp is less than or
     equal to  the  time  value  of  the  specified  clock,  then
     clocknanosleep()  returns  immediately and the calling pro-
     cess is not suspended.


     The suspension time caused by this function  can  be  longer
     than  requested  because the argument value is rounded up to
     an integer multiple of the sleep resolution, or  because  of
     the  scheduling of other activity by the system. But, except
     for the case of being interrupted by a signal,  the  suspen-
     sion  time for the relative clocknanosleep() function (that
     is, with the TIMERABSTIME flag not set) will  not  be  less
     than the time interval specified by rqtp, as measured by the
     corresponding  clock.  The  suspension  for   the   absolute
     clocknanosleep()  function (that is, with the TIMERABSTIME
     flag set) will be in effect at least until the value of  the
     corresponding  clock  reaches the absolute time specified by
     rqtp, except for the case of being interrupted by a signal.


     The use of the clocknanosleep() function has no  effect  on
     the action or blockage of any signal.



SunOS 5.11           Last change: 5 Feb 2008                    1






Standard C Library Functions                  clocknanosleep(3C)



     The clocknanosleep() function fails if the  clockid  argu-
     ment  refers to the CPU-time clock of the calling thread. It
     is unspecified if clockid values of other  CPU-time  clocks
     are allowed.

RETURN VALUES
     If  the  clocknanosleep()  function  returns  because   the
     requested time has elapsed, its return value is 0.


     If the clocknanosleep() function  returns  because  it  has
     been  interrupted  by a signal, it returns the corresponding
     error value. For the relative clocknanosleep() function, if
     the rmtp argument is non-null, the timespec structure refer-
     enced by it is updated to contain the amount of time remain-
     ing in the interval (the requested time minus the time actu-
     ally slept). If the rmtp argument  is  NUL,  the  remaining
     time  is  not returned. The absolute clocknanosleep() func-
     tion has no effect on the structure referenced by rmtp.


     If clocknanosleep() fails, it shall return the  correspond-
     ing error value.

ERORS
     The clocknanosleep() function will fail if:

     EINTR      The clocknanosleep() function was interrupted by
                a signal.


     EINVAL     The rqtp argument specified  a  nanosecond  value
                less  than zero or greater than or equal to 1,000
                million; or the TIMERABSTIME flag was  specified
                in  flags  and  the  rqtp argument is outside the
                range for the clock specified by clockid; or the
                clockid argument does not specify a known clock,
                or specifies the CPU-time clock  of  the  calling
                thread.


     ENOTSUP    The clockid argument specifies a clock for which
                clocknanosleep()  is  not  supported,  such as a
                CPU-time clock.


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:






SunOS 5.11           Last change: 5 Feb 2008                    2






Standard C Library Functions                  clocknanosleep(3C)



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Committed                   
    
     MT-Level                     MT-Safe                     
    
     Standard                     See standards(5).           
    


SEE ALSO
     clockgetres(3C), nanosleep(3C), pthreadcondtimedwait(3C),
     sleep(3C), attributes(5), standards(5)









































SunOS 5.11           Last change: 5 Feb 2008                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™