The OpenNET Project / Index page

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

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

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

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

    NAME

    pthread_rwlock_init, pthread_rwlock_destroy - initialize or destroy read-write lock object
     
    

    SYNOPSIS

    cc -mt [ flag... ] file... -lpthread [ library... ]
    #include <pthread.h>
    
    int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock,
        const pthread_rwlockattr_t *restrict attr);
    

    int pthread_rwlock_destroy(pthread_rwlock_t **rwlock);
    

    pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;
    

     

    DESCRIPTION

    The pthread_rwlock_init() function initializes the read-write lock referenced by rwlock with the attributes referenced by attr. If attr is NULL, the default read-write lock attributes are used; the effect is the same as passing the address of a default read-write lock attributes object. Once initialized, the lock can be used any number of times without being re-initialized. Upon successful initialization, the state of the read-write lock becomes initialized and unlocked. Results are undefined if pthread_rwlock_init() is called specifying an already initialized read-write lock. Results are undefined if a read-write lock is used without first being initialized.

    If the pthread_rwlock_init() function fails, rwlock is not initialized and the contents of rwlock are undefined.

    The pthread_rwlock_destroy() function destroys the read-write lock object referenced by rwlock and releases any resources used by the lock. The effect of subsequent use of the lock is undefined until the lock is re-initialized by another call to pthread_rwlock_init(). An implementation may cause pthread_rwlock_destroy() to set the object referenced by rwlock to an invalid value. Results are undefined if pthread_rwlock_destroy() is called when any thread holds rwlock. Attempting to destroy an uninitialized read-write lock results in undefined behaviour. A destroyed read-write lock object can be re-initialized using pthread_rwlock_init(); the results of otherwise referencing the read-write lock object after it has been destroyed are undefined.

    In cases where default read-write lock attributes are appropriate, the macro PTHREAD_RWLOCK_INITIALIZER can be used to initialize read-write locks that are statically allocated. The effect is equivalent to dynamic initialization by a call to pthread_rwlock_init() with the parameter attr specified as NULL, except that no error checks are performed.  

    RETURN VALUES

    If successful, the pthread_rwlock_init() and pthread_rwlock_destroy() functions return 0. Otherwise, an error number is returned to indicate the error.  

    ERRORS

    The pthread_rwlock_init() and pthread_rwlock_destroy() functions will fail if:

    EINVAL

    The value specified by attr is invalid.

    EINVAL

    The value specified by rwlock is invalid.

     

    ATTRIBUTES

    See attributes(5) for descriptions of the following attributes:

    ATTRIBUTE TYPEATTRIBUTE VALUE

    Interface StabilityStandard

    MT-Level

     

    SEE ALSO

    pthread_rwlock_rdlock(3C), pthread_rwlock_unlock(3C), pthread_rwlock_wrlock(3C), pthread_rwlockattr_init(3C), attributes(5), standards(5)


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    ERRORS
    ATTRIBUTES
    SEE ALSO


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




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

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