The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

pthread_rwlock_tryrdlock (3)
  • >> pthread_rwlock_tryrdlock (3) ( FreeBSD man: Библиотечные вызовы )
  • pthread_rwlock_tryrdlock (3) ( POSIX man: Библиотечные вызовы )

  • BSD mandoc
     

    NAME

    
    
    pthread_rwlock_rdlock
    
     
    pthread_rwlock_tryrdlock
    
     - acquire a read/write lock for reading
    
     
    

    LIBRARY

    Lb libpthread
    
     
    

    SYNOPSIS

       #include <pthread.h>
    int pthread_rwlock_rdlock (pthread_rwlock_t *lock);
    int pthread_rwlock_tryrdlock (pthread_rwlock_t *lock);
     

    DESCRIPTION

    The pthread_rwlock_rdlock ();
    function acquires a read lock on Fa lock provided that Fa lock is not presently held for writing and no writer threads are presently blocked on the lock. If the read lock cannot be immediately acquired, the calling thread blocks until it can acquire the lock.

    The pthread_rwlock_tryrdlock ();
    function performs the same action, but does not block if the lock cannot be immediately obtained (i.e., the lock is held for writing or there are waiting writers).

    A thread may hold multiple concurrent read locks. If so, pthread_rwlock_unlock ();
    must be called once for each lock obtained.

    The results of acquiring a read lock while the calling thread holds a write lock are undefined.  

    IMPLEMENTATION NOTES

    To prevent writer starvation, writers are favored over readers.  

    RETURN VALUES

    If successful, the pthread_rwlock_rdlock ();
    and pthread_rwlock_tryrdlock ();
    functions will return zero. Otherwise an error number will be returned to indicate the error.  

    ERRORS

    The pthread_rwlock_tryrdlock ();
    function will fail if:

    Bq Er EBUSY
    The lock could not be acquired because a writer holds the lock or was blocked on it.

    The pthread_rwlock_rdlock ();
    and pthread_rwlock_tryrdlock ();
    functions may fail if:

    Bq Er EAGAIN
    The lock could not be acquired because the maximum number of read locks against Fa lock has been exceeded.
    Bq Er EDEADLK
    The current thread already owns Fa lock for writing.
    Bq Er EINVAL
    The value specified by Fa lock is invalid.
    Bq Er ENOMEM
    Insufficient memory exists to initialize the lock (applies to statically initialized locks only).

     

    SEE ALSO

    pthread_rwlock_init3, pthread_rwlock_trywrlock3, pthread_rwlock_unlock3, pthread_rwlock_wrlock3  

    STANDARDS

    The pthread_rwlock_rdlock ();
    and pthread_rwlock_tryrdlock ();
    functions are expected to conform to St -susv2 .  

    HISTORY

    The pthread_rwlock_rdlock ();
    function first appeared in Fx 3.0 .


     

    Index

    NAME
    LIBRARY
    SYNOPSIS
    DESCRIPTION
    IMPLEMENTATION NOTES
    RETURN VALUES
    ERRORS
    SEE ALSO
    STANDARDS
    HISTORY


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру