Programmation des sockets
Résolu
dx3d
Messages postés
72
Statut
Membre
-
ElementW Messages postés 5690 Statut Contributeur -
ElementW Messages postés 5690 Statut Contributeur -
Bonjour, donc j'ai une petite question de cours :
Voici ci dessous la partie de code qui m'intéresse :
Donc j'ai déjà vu se que font SIGTERM/SIGINT/SIGQUIT mais c'est plus l'utilité des lignes signal(SIGX,signal_handler); qui m'intéresse, que font elles exactement ? J'ai vu que le but de signal() est de retourner un pointeur au handler mais à quel but ?
Aussi pour ma seconde question :
Que ce passe-t'il dans le cas où on fait une boucle :
for(;;){
if(condition){
break;
}
}
est ce qu'elle continuera de tourner jusqu'à ce qu'on est la condition nécessaire et qu'on la break ?
Voici ci dessous la partie de code qui m'intéresse :
static void signal_handler(int signal) {
(void)signal;
/* Just inform we're asked to quit */
recv_sign = 1;
}
signal(SIGTERM, signal_handler);
signal(SIGINT, signal_handler);
signal(SIGQUIT, signal_handler);
Donc j'ai déjà vu se que font SIGTERM/SIGINT/SIGQUIT mais c'est plus l'utilité des lignes signal(SIGX,signal_handler); qui m'intéresse, que font elles exactement ? J'ai vu que le but de signal() est de retourner un pointeur au handler mais à quel but ?
Aussi pour ma seconde question :
Que ce passe-t'il dans le cas où on fait une boucle :
for(;;){
if(condition){
break;
}
}
est ce qu'elle continuera de tourner jusqu'à ce qu'on est la condition nécessaire et qu'on la break ?
1 réponse
-
'lut,
signal
renvoie un pointeur au handler précédent, et réattribues un nouveau handler que tu spécifies en 2nd paramètre.
Pour ta boucle, ça équivaut à:for (; !condition;) { // Code }ou awhile (!condition) { // Code }Donc oui, elle s'arrêtera quand la condition seratrue
.
from human import idiocy
del idiocy