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é

Type sig_atomic_t

Entête à inclure

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

Type sig_atomic_t

sig_atomic_t

Type entier, éventuellement qualifié volatile, qui peut être lu et écrit comme une entité atomique même en présence d'interruptions asynchrones.

Exemple de code

L'exemple suivant montre une utilisation simple de ce type.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>

static volatile sig_atomic_t interrupted = 0;

static void handleSignal( int signalId ) {
    (void) signalId;
    interrupted = 1;
}

int main() {

    signal( SIGINT, handleSignal );
    raise( SIGINT );

    if ( interrupted ) {
        puts( "Signal mémorisé." );
    }

    return EXIT_SUCCESS;
}
Exemple d'utilisation de sig_atomic_t

Les résultats produits par cet exemple sont :

Signal mémorisé.

Sujets connexes

<signal.h>
signal
raise


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