The OpenNET Project / Index page

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

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

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

selwakeup (9)
  • >> selwakeup (9) ( FreeBSD man: Ядро )

  • BSD mandoc
     

    NAME

    
    
    selrecord
    
     
    selwakeup
    
     - record and wakeup select requests
    
     
    

    SYNOPSIS

       #include <sys/param.h>
       #include <sys/selinfo.h>
    void selrecord (struct thread *td struct selinfo *sip);
    void selwakeup (struct selinfo *sip);
     

    DESCRIPTION

    selrecord ();
    and selwakeup ();
    are the two central functions used by select(2), poll(2) and the objects that are being selected on. They handle the task of recording which threads are waiting on which objects and the waking of the proper threads when an event of interest occurs on an object.

    selrecord ();
    records that the calling thread is interested in events related to a given object. If another thread is already waiting on the object a collision will be flagged in Fa sip which will be later dealt with by selwakeup (.);

    selrecord ();
    acquires and releases sellock

    selwakeup ();
    is called by the underlying object handling code in order to notify any waiting threads that an event of interest has occurred. If a collision has occurred, selwakeup ();
    will increment nselcoll and broadcast on the global cv in order to wake all waiting threads so that they can handle it. If the thread waiting on the object is not currently sleeping or the wait channel is not selwait selwakeup ();
    will clear the TDF_SELECT flag which should be noted by select(2) and poll(2) when they wake up.

    The contents of Fa *sip must be zeroed, such as by softc initialization, before any call to selrecord ();
    or selwakeup (,);
    otherwise a panic may occur. selwakeup ();
    acquires and releases sellock and may acquire and release sched_lock  

    SEE ALSO

    poll(2), select(2)  

    AUTHORS

    An -nosplit This manual page was written by An Chad David Aq davidc@FreeBSD.org and An Alfred Perlstein Aq alfred@FreeBSD.org .


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    SEE ALSO
    AUTHORS


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




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

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