Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonction sigtimedwait (POSIX)

Entête à inclure

#include <signal.h>  // <csignal> en C++

Fonction sigtimedwait (POSIX)

int sigtimedwait( const sigset_t *restrict set, siginfo_t *restrict info, const struct timespec *restrict timeout );

La fonction sigtimedwait attend un signal appartenant à un ensemble, avec une durée maximale d'attente.

Paramètres

Valeur de retour

La fonction retourne le numéro du signal reçu ou -1 en cas d'erreur.

Exemple de code

L'exemple suivant montre une utilisation simple de cette interface.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
#define _POSIX_C_SOURCE 200809L

#include <signal.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    sigset_t set;
    sigemptyset( &set );
    sigaddset( &set, SIGUSR1 );
    sigprocmask( SIG_BLOCK, &set, NULL );

    raise( SIGUSR1 );

    siginfo_t info;
    struct timespec timeout = { 1, 0 };
    int signalId = sigtimedwait( &set, &info, &timeout );

    printf( "Signal reçu : %d\n", signalId );
    return EXIT_SUCCESS;
}
Exemple d'utilisation de sigtimedwait

Les résultats produits par cet exemple sont :

Signal reçu : 10

Sujets connexes

<signal.h>
sigwaitinfo
siginfo_t


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé