Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE

SLEEP_ON

Section: Fonctions du noyau Linux (9)
Updated: 19 Mars 1999
Index


NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYEÉ
DISPONIBILITÉ
VOIR AUSSI
AUTEUR
TRADUCTION
BOGUES

NOM

sleep_on - synchronisation à l'aide d'une variable de condition

SYNOPSIS

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

DESCRIPTION

La fonction sleep_on fournit un moyen de synchroniser des processus avec des gestionnaires d'interruptions. Le paramètre condition est un pointeur sur un pointeur sur une varable de type opaque wait_queue. La variable condition doit être initialisée à zéro puis passée par pointeur à la fonction sleep_on. Le schéma élémentaire est le suivant :
struct wait_queue*con = 0;
       [...]

sleep_on(&con);
Tant qu'un processus n'est pas activé, il est totalement interruptible, quel que soit l'état du processeur quand on entre dans la fonction. L'état du processeur est restauré lors du réveil.
Si un pointeur NULL (0) est passé à sleep_on, celle-ci rend la main immédiatement, sans suspendre le processus. C'est une opération qui ne fait rien.

VALEUR RENVOYEÉ

La fonction sleep_on ne rend la main que lorsqu'elle est explicitement réveillée/activée.

DISPONIBILITÉ

Linux 1+

VOIR AUSSI

wake_up(9)
/usr/src/linux/kernel/sched.c

AUTEUR

Stephen Williams <steve@icarus.com>

TRADUCTION

Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999

BOGUES

Un appel à sleep_on(0) peut sembler être un moyen intéressant pour faire un test et autoriser momentanément les interruptions mais ce n'est pas ce qui se passera.
La fonction sleep_on ne peut pas être appellée dans les gestionnaires d'interruption.
Cette fonction n'est pas atomique ([Ndt : donc non réentrante) par rapport aux tests que le pilote peut faire, aussi le code qui exécute la fonction sleep_on devrait être protégé contre les interruptions. Ne pas le faire conduit à des race conditions.
Responsable bénévole de la rubrique Linux Professionnel : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.