mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 12:28:22 +01:00
struct timespec's tm_nsec is in nanoseconds, not microseconds. Signed-off-by: Brad Jorsch <anomie@users.sourceforge.net>
26 lines
426 B
C
26 lines
426 B
C
|
|
#include <errno.h>
|
|
#include <time.h>
|
|
|
|
#include "wconfig.h"
|
|
|
|
void wusleep(unsigned int usec)
|
|
{
|
|
struct timespec tm;
|
|
|
|
/* An arbitrary limit of 10 minutes -- in WM, if
|
|
* somethings wants to sleep anything even close to
|
|
* this, it's most likely an error.
|
|
*/
|
|
if (usec > 600000000)
|
|
return;
|
|
|
|
tm.tv_sec = usec / 1000000;
|
|
tm.tv_nsec = (usec % 1000000) * 1000;
|
|
|
|
while (nanosleep(&tm, &tm) == -1 && errno == EINTR)
|
|
;
|
|
|
|
}
|
|
|