Subversion Repositories HelenOS

Rev

Rev 2615 | Rev 2677 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2615 Rev 2616
Line 185... Line 185...
185
        *tloc = tv.tv_sec;
185
        *tloc = tv.tv_sec;
186
    return tv.tv_sec;
186
    return tv.tv_sec;
187
}
187
}
188
 
188
 
189
/** Wait unconditionally for specified number of microseconds */
189
/** Wait unconditionally for specified number of microseconds */
190
void usleep(unsigned long usec)
190
int usleep(unsigned long usec)
191
{
191
{
192
    atomic_t futex = FUTEX_INITIALIZER;
192
    atomic_t futex = FUTEX_INITIALIZER;
193
 
193
 
194
    futex_initialize(&futex, 0);
194
    futex_initialize(&futex, 0);
195
    futex_down_timeout(&futex, usec, 0);
195
    futex_down_timeout(&futex, usec, 0);
-
 
196
    return 0;
196
}
197
}
197
 
198
 
198
/** Wait unconditionally for specified number of seconds */
199
/** Wait unconditionally for specified number of seconds */
199
unsigned int sleep(unsigned int seconds)
200
unsigned int sleep(unsigned int seconds)
200
{
201
{
Line 208... Line 209...
208
        unsigned int period = (seconds > 1000) ? 1000 : seconds;
209
        unsigned int period = (seconds > 1000) ? 1000 : seconds;
209
   
210
   
210
        futex_down_timeout(&futex, period * 1000000, 0);
211
        futex_down_timeout(&futex, period * 1000000, 0);
211
        seconds -= period;
212
        seconds -= period;
212
    }
213
    }
-
 
214
    return 0;
213
}
215
}
214
 
216
 
215
/** @}
217
/** @}
216
 */
218
 */