void * threadDefileMessage(void *p) { int i; struct timespec temps; temps.tv_sec = 0; temps.tv_nsec = TEXT_SPEED; pthread_cleanup_push(free_message, NULL); while (1) { pthread_mutex_lock(&mutexMessage); if (indiceCourant > tailleMessage) indiceCourant = 0; for (i = 0 ; i < 8 ; ++i) { DessineLettre(10, 11+i, message[indiceCourant+i]); } ++indiceCourant; pthread_mutex_unlock(&mutexMessage); nanosleep(&temps, NULL); } pthread_cleanup_pop(1); }
void* threadDefileMessage(void*) { int i,j; struct timespec temps; temps.tv_sec=0; temps.tv_nsec=400000000; while(1) { j=indiceCourant; for(i=11;i<=18;i++) { if(j>=tailleMessage) { DessineLettre(10,i,' '); } else { if((message[j]>='a' && message[j]<='z')||(message[j]>='A' && message[j]<='Z')||message[j]==' ') { DessineLettre(10,i,message[j]); } else { if(message[j]>=48 && message[j]<=57) {DessineChiffre(10,i,message[j]-48);} else {DessineLettre(10,i,' ');} } } j++; } nanosleep(&temps,NULL); if(indiceCourant==tailleMessage) indiceCourant=-1; indiceCourant++; } }