The OpenNET Project / Index page

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

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

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

_lwp_sema_post (2)
  • >> _lwp_sema_post (2) ( Solaris man: Системные вызовы )
  •  

    NAME

    _lwp_sema_wait, _lwp_sema_trywait, _lwp_sema_init, _lwp_sema_post - semaphore operations
     
    

    SYNOPSIS

    #include <sys/lwp.h>
    
    int _lwp_sema_wait(lwp_sema_t *sema);
    

    int _lwp_sema_trywait(lwp_sema_t *sema);
    

    int _lwp_sema_init(lwp_sema_t *sema, int count);
    

    int _lwp_sema_post(lwp_sema_t *sema);
    

     

    DESCRIPTION

    Conceptually, a semaphore is an non-negative integer count that is atomically incremented and decremented. Typically this represents the number of resources available. The _lwp_sema_init() function initializes the count, _lwp_sema_post() atomically increments the count, and _lwp_sema_wait() waits for the count to become greater than 0 and then atomically decrements it.

    LWP semaphores must be initialized before use. The _lwp_sema_init() function initializes the count associated with the LWP semaphore pointed to by sema to count.

    The _lwp_sema_wait() function blocks the calling LWP until the semaphore count becomes greater than 0 and then atomically decrements it.

    The _lwp_sema_trywait() function atomically decrements the count if it is greater than zero. Otherwise it returns an error.

    The _lwp_sema_post() function atomically increments the semaphore count. If there are any LWPs blocked on the semaphore, one is unblocked.  

    RETURN VALUES

    Upon successful completion, 0 is returned. A non-zero value indicates an error.  

    ERRORS

    The _lwp_sema_init(), _lwp_sema_trywait(), _lwp_sema_wait(), and _lwp_sema_post() functions will fail if:

    EINVAL

    The sema argument points to an invalid semaphore.

    EFAULT

    The sema argument points to an illegal address.

    The _lwp_sema_wait() function will fail if:

    EINTR

    The function execution was interrupted by a signal or fork(2).

    The _lwp_sema_trywait() function will fail if:

    EBUSY

    The function was called on a semaphore with a zero count.

    The _lwp_sema_post() function will fail if:

    EOVERFLOW

    The value of the sema argument exceeds SEM_VALUE_MAX.

     

    SEE ALSO

    fork(2)


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    ERRORS
    SEE ALSO


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




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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