Programmation des sockets

Résolu/Fermé
dx3d Messages postés 68 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 19 juillet 2017 - 14 avril 2015 à 21:45
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 14 avril 2015 à 23:23
Bonjour, donc j'ai une petite question de cours :

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 ?
A voir également:

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 14/04/2015 à 23:23
'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 a
while (!condition) {
    // Code
}
Donc oui, elle s'arrêtera quand la condition sera
true
.
from human import idiocy
del idiocy
0