The OpenNET Project / Index page

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

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

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

sleep_on ()
  • >> sleep_on (9) ( Linux man: Ядро )
  •  

    NAME

    sleep_on - synchronization using a condition variable
    
    
     
    

    SYNOPSIS

    #include <linux/sched.h>
    void sleep_on(struct wait_queue**condition)
     

    DESCRIPTION

    The sleep_on function provides a means for synchronizing between processes and with interrupt handlers. The condition parameter is a pointer to a pointer to the opaque wait_queue type. Initialize the condition variable to zero, then pass a pointer to it to the sleep_on function. The basic idea is as follows:

    struct wait_queue*con = 0;
           [...]

    sleep_on(&con);

    While a process is sleeping, it is fully interruptible, no matter what the cpu state when entering the function. The cpu state is restored on being awakened.

    If a null(0) is passed to sleep_on, it returns immediately, without sleeping. This is a no-op.  

    RETURN VALUE

    The sleep_on function only returns when explicitly awakened.  

    AVAILABILITY

    Linux 1+  

    SEE ALSO

    wake_up(9)

    /usr/src/linux/kernel/sched.c  

    AUTHOR

    Stephen Williams <steve@icarus.com>  

    BUGS

    A call to sleep_on(0) seems like an interesting way to test for and momentarily allow interrupts, but that is not what happens.

    The sleep_on function cannot be called by interrupt handlers.

    The function is not atomic with the condition tests that the driver writer might include, so the code executing the sleep_on function is protected from interrupts. Failure to do so generally leads to race conditions.


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUE
    AVAILABILITY
    SEE ALSO
    AUTHOR
    BUGS


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




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

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