Bonjour,
j'aimerais trouver une commande qui me permettrait d'effectuer une pause à mon programme. Pour le moment j'utilise : sleep() mais à un moment cette fonction me fait déconner ce bout de code :
Bizarement la fonction clock() après un certain temps garde perpétuellement la même valeur, ce qui fait que la condition de ma boucle est toujours VRAI et ce bout de code tourne en boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 endwait = clock () + freq * CLOCKS_PER_SEC ; while (clock() < endwait) { if (thInfo->myHost->stop == 1) { pthread_mutex_unlock( &mutexStop ); //cleanup free(tmp->oid); free(tmp->host); free(tmp); free(ip); return 0; } pthread_mutex_unlock( &mutexStop ); sleep(2); pthread_mutex_lock( &mutexStop ); }
J'ai cru aperçevoir que "sleep(..)" ne tournait pas bien sur les système linux et je travaille juste là dessus.
Avez -vous une suggestion à me proposer?
P.S : ce bout de code est utilisé par plusieurs threads à la fois
Partager