Salut,
dans mon programme, jusqu'à maintenant, je faisais quelque chose du genre:
Je profitais du fait que recv était blocant et quand l'utilisateur appuyait "ctrl-c" (SIGINT), l'utilisateur sortait du recv avec un errno == EINTR et continuait le programme. J'avais trouvé cette combien sympathique y'a quelques mois en arrière, mais elle ne semble plus fonctionner. Maintenant, quand le programme reçoit un SIGINT, le recv ne rend plus la main et mon programme deadlock sur le recv. J'aimerais bien avoir le même comportement qu'auparavant, est-ce que vous auriez une solution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 rval = recv(desc->fd, desc->packet + sumrval, desc->max_packet_size, 0); sumrval += rval; if (errno == EINTR) break;
Merci
Partager