//toto su funkcie, ktore potrebujem na spanie na 10 milisekund... int __nsleep(const struct timespec *req, struct timespec *rem) { struct timespec temp_rem; if(nanosleep(req,rem)==-1) __nsleep(rem,&temp_rem); else return 1; return 0; }
int msleep(unsigned long milisec) { struct timespec req = { 0 }, rem = { 0 }; time_t sec = (int) (milisec / 1000); milisec = milisec - (sec * 1000); req.tv_sec = sec; req.tv_nsec = milisec * 1000000L; __nsleep(&req, &rem); return 1; }
static void myusleep(unsigned long usec) { struct timespec req; time_t sec = usec / 1000000; usec -= sec * 1000000; req.tv_sec = sec; req.tv_nsec = usec * 1000; __nsleep(&req); }
void __nsleep(const struct timespec *req, struct timespec *rem) { struct timespec temp_rem; if (nanosleep(req, rem) == -1) __nsleep(rem, &temp_rem); }