ça fonctionne pas pareil sur toutes les platteforme, surtout que les pthread ne sont pas vraiment nativement supportés sous windows et passent par les WinThread ...
De toute façon arrêter un thread alors qu'il tourne c'est pas très conseillé, car tu le force à quitter alors qu'il est en cours de traitement... mieux vaut lui demander poliement de s'arrêter et lui laisser le soin de sortir tout seul comme un grand...
pour ça je te conseille de faire une boucle qui teste à la foi ce qui arrive sur ton port serveur (avec un select(), ou un epoll() ) pour savoir si une connection arrive et une variable condition qui basculera quand on demande au thread de quitter... pour moi cette technique fonctionne très bien.
en speudo code:
int threadfunc(void* param){
while ( testExit()==false){
if(select(...)>0)
tableau[i] = accept(...);
}
}
# y a un autre moyen
Posté par ecyrbe . En réponse au message Fourberies de libpthread.... Évalué à 4.
De toute façon arrêter un thread alors qu'il tourne c'est pas très conseillé, car tu le force à quitter alors qu'il est en cours de traitement... mieux vaut lui demander poliement de s'arrêter et lui laisser le soin de sortir tout seul comme un grand...
pour ça je te conseille de faire une boucle qui teste à la foi ce qui arrive sur ton port serveur (avec un select(), ou un epoll() ) pour savoir si une connection arrive et une variable condition qui basculera quand on demande au thread de quitter... pour moi cette technique fonctionne très bien.
en speudo code:
int threadfunc(void* param){
while ( testExit()==false){
if(select(...)>0)
tableau[i] = accept(...);
}
}