Moguće da tvoj sleep ne podržava zadavanje ne-celog broja sekundi. Evo skrpio sam nešto što bi moglo biti od pomoći, ili makar od edukativne koristi... Program koji spava određeni broj milisekudi...
[
http://www.bsd.org.yu/~random/milisleep.c]
Code:
/*
* milisleep.c
* random@box.sk, september 2001.
*
* Sleeps for a specified number of miliseconds, then exits.
*
* To compile, type
*
* $ cc -o milisleep milisleep.c
*
* Then put it somewhere convenient, like /usr/bin...
*
*/
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main (int, char *[]);
void usage (void);
int main(int argc, char *argv[])
{
struct timespec time_to_sleep;
int mili;
int sek;
long nano;
if (argc != 2) {
usage();
}
if ((mili = atoi(argv[1])) <= 0) {
(void)fprintf(stderr, "invalid time to sleepn");
usage();
}
sek = (mili-(mili%1000))/1000;
nano = (mili%1000)*1000000;
time_to_sleep.tv_sec = sek;
time_to_sleep.tv_nsec = nano;
return nanosleep(&time_to_sleep, (struct timespec *)NULL);
}
void usage()
{
(void)fprintf(stderr, "usage: milisleep milisecondsn");
exit(1);
}
int rand(void);
Those who do not understand Unix are condemned to reinvent it, poorly.
Upali lampicu — koristi Jabber!