Portál AbcLinuxu, 12. května 2024 00:00
clock_t endwait; int noWait = 0; while(1){ ... ... zadne break ani continue ... ... endwait = clock() + 1 * CLOCKS_PER_SEC; while( clock() < endwait && !noWait ){} }Čím to může být? Děkuji.
DESCRIPTION The clock() function returns an approximation of processor time used by the program. NOTES Note that the time can wrap around. On a 32-bit system where CLOCKS_PER_SEC equals 1000000 this function will return the same value approximately every 72 minutes.
noWait = 1
. Kus kódu je jen ukázka.
Man jsem nečetl, neměl jsem ho poruce. Četl jsem toto, což byla chyba.
Pokud hodnoty funkce clock() rotují jednou za 72 hodin, nemělo by to dělat to co to dělá, ale buď jeden cyklus nečekat, nebo čekat 72 hodin.
Nevíte o nějaké funkci, která vrací počet milisekund současné vteřiny? Nebo jak se přeruší čekání fce. usleep()? Nejsem v tomto tématu tak zběhlý...
pthread_cond_timedwait()
?
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.