pthread_mutex_timedlock(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

pthread_mutex_timedlock(3c)

pthread_...timedlock(3C) Standard C Library Functions pthread_...timedlock(3C)

NAME
       pthread_mutex_timedlock, pthread_mutex_reltimedlock_np - lock a mutex

SYNOPSIS
       #include <pthread.h>
       #include <time.h>

       int pthread_mutex_timedlock(pthread_mutex_t *restrict mutex,
            const struct timespec *restrict abs_timeout);


       int pthread_mutex_reltimedlock_np(pthread_mutex_t *restrict mutex,
            const struct timespec *restrict rel_timeout);

DESCRIPTION
       The  pthread_mutex_timedlock()  function  locks the mutex object refer‐
       enced by mutex. If the mutex is  already  locked,  the  calling  thread
       blocks  until  the  mutex  becomes  available  as  in  the  pthread_mu‐
       tex_lock(3C). If the mutex cannot be locked without waiting for another
       thread to unlock the mutex, this wait is terminated when the  specified
       timeout expires.


       The   pthread_mutex_reltimedlock_np()  function  is  identical  to  the
       pthread_mutex_timedlock() function, except that the timeout  is  speci‐
       fied as a relative time interval.


       For  pthread_mutex_timedlock(),  the  timeout expires when the absolute
       time specified by abs_timeout passes, as measured by the clock on which
       timeouts are based (that is, when the value of that clock equals or ex‐
       ceeds abs_timeout), or if the absolute time  specified  by  abs_timeout
       has already been passed at the time of the call.


       For  pthread_mutex_reltimedlock_np(), the timeout expires when the time
       interval specified by rel_timeout passes, as measured by the  CLOCK_RE‐
       ALTIME clock, or if the time interval specified by rel_timeout is nega‐
       tive at the time of the call.


       The  resolution  of the timeout is the resolution of the CLOCK_REALTIME
       clock. The timespec data type is defined in the <time.h>header.


       Under no circumstance will either function fail with a timeout  if  the
       mutex  can be locked immediately. The validity of the timeout parameter
       is not checked if the mutex can be locked immediately.


       As a consequence of the priority inheritance rules  (for  mutexes  ini‐
       tialized with the PRIO_INHERIT protocol), if a timed mutex wait is ter‐
       minated  because  its timeout expires, the priority of the owner of the
       mutex is adjusted as necessary to reflect the fact that this thread  is
       no longer among the threads waiting for the mutex.

RETURN VALUES
       Upon   successful   completion,   the   pthread_mutex_timedlock()   and
       pthread_mutex_reltimedlock_np() functions return 0. Otherwise, an error
       number is returned to indicate the error.

ERRORS
       The pthread_mutex_timedlock() and pthread_mutex_reltimedlock_np() func‐
       tions will fail for the same reasons as pthread_mutex_lock(3C). In  ad‐
       dition, they will fail if:

       EINVAL       The  caller  would  have blocked and the timeout parameter
                    specified a nanoseconds field  value  less  than  zero  or
                    greater than or equal to 1,000 million.


       ETIMEDOUT    The mutex could not be locked before the specified timeout
                    expired.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe _  Stan‐
       dardT{ For pthread_mutex_timedlock(), see standards(7).  T}


SEE ALSO
       time(2), pthread_mutex_destroy(3C), pthread_mutex_lock(3C), pthread_mu‐
       tex_trylock(3C), attributes(7), standards(7)

Oracle Solaris 11.4               16 May 2014         pthread_...timedlock(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3